Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DLandmark StructureAction3 landmarksFIX
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
F404 Error PageActionHTTP 404, bare pageFIX
DFavicon & BrandingAction3 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
CHeading HierarchyAction254 headings, 2 skip(s)REVIEW
- H4 헤더 영역
- H1 KBS
- H2 영상 광고
- H4 온에어 skipped
- H4 VOD 다시보기
- H2 메인 메뉴
- H4 메인 프로모션 skipped
- H4 on air
- H4 TV
- H4 TV
- H4 TV
- H4 주요뉴스
- H4 새로 올라온 영상
- H4 짧은 영상, 긴 재미
- H4 오늘의 주요프로그램
- H4 스타연예
- H4 스타연예
- H4 롤링 배너 (PC)
- H4 YouTube 로 즐기는 KBS
- H2 푸터영역
- 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 Storage, duration, and usage details
- H1 Confirm our vendors duplicate H1
- H2 Exponential Interactive, Inc d/b/a VDX.tv
- 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 Nexxen Group LLC
- H2 NEURAL.ONE
- H2 ADITION (Virtual Minds GmbH)
- H2 Active Agent (Virtual Minds GmbH)
- H2 Equativ
- H2 Adform A/S
- H2 Magnite, Inc.
- H2 RATEGAIN ADARA INC
- H2 Sift Media, Inc
- H2 Lumen Research Limited
- H2 OpenX
- H2 Yieldlab (Virtual Minds GmbH)
- H2 Simplifi Holdings LLC
- H2 PubMatic, Inc
- H2 Comscore B.V.
- H2 Flashtalking
- H2 Sharethrough, Inc
- H2 PulsePoint, Inc.
- H2 Smaato, Inc.
- H2 Crimtan Holdings Limited
- H2 Criteo SA
- H2 SCOPE3 SAS
- 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 Media.net Advertising FZ-LLC
- H2 LiveIntent Inc.
- H2 Basis Global Technologies, Inc.
- H2 Seedtag Advertising S.L
- H2 SMADEX, S.L.U.
- H2 Bombora Inc.
- H2 Outbrain UK.
- H2 Yieldmo, Inc.
- H2 A Million Ads
- H2 Remerge GmbH
- H2 Affle Iberia SL
- H2 Magnite CTV, Inc.
- H2 Delta Projects AB
- H2 Zemanta Inc.
- H2 AcuityAds Inc.
- H2 Rockerbox, Inc
- H2 StackAdapt Inc.
- H2 OneTag Limited
- H2 Smartology Limited
- H2 Improve Digital
- H2 Adobe Advertising Cloud
- H2 Bannerflow AB
- H2 TabMo SAS
- H2 Integral Ad Science (incorporating ADmantX)
- H2 Wizaly
- H2 Weborama
- H2 Readpeak Oy
- H2 Jivox Corporation
- H2 Sojern, Inc.
- H2 Polar Mobile Group Inc.
- H2 On Device Research Limited
- H2 Exactag GmbH
- H2 Celtra Inc.
- H2 ADTIMING TECHNOLOGY PTE. LTD
- H2 Gemius SA
- H2 InMobi Pte Ltd
- H2 The Kantar Group Limited
- H2 Samba TV UK Limited
- H2 Nielsen Media Research Ltd.
- H2 RevX
- H2 Pixalate, Inc.
- H2 Triapodi Ltd. d/b/a Digital Turbine
- H2 AudienceProject A/S
- H2 Eulerian Technologies
- H2 Seenthis AB
- H2 travel audience GmbH
- H2 HUMAN
- H2 Streamwise srl
- H2 Innovid LLC
- H2 Zeta Global Corp.
- H2 Madington
- H2 Opinary (Affinity Global GmbH)
- H2 GumGum, Inc.
- H2 Cint USA, Inc.
- H2 Jampp LTD
- H2 Realtime Technologies GmbH
- H2 DeepIntent, Inc.
- H2 Happydemics
- H2 Otto GmbH & Co. KGaA
- H2 Adobe Audience Manager, Adobe Experience Platform
- H2 CHEQ AI TECHNOLOGIES
- H2 Localsensor B.V.
- H2 Adnami Aps
- H2 Blue
- H2 Relay42 Netherlands B.V.
- H2 Mobsuccess
- H2 Liftoff Monetize and Vungle Exchange
- H2 The MediaGrid Inc.
- H2 Go.pl sp. z o.o.
- H2 HyperTV, Inc.
- H2 Appier PTE Ltd
- H2 6Sense Insights, Inc.
- H2 Google Advertising Products
- H2 GfK GmbH
- H2 Clinch Labs LTD
- H2 Amazon Ads
- H2 LinkedIn Ireland Unlimited Company
- H2 Moloco, Inc.
- H2 Nielsen International SA
- H2 Mintegral International Limited
- H2 PRECISO SRL
- H2 Pelmorex Corp.
- H2 TikTok Ad Network
- H2 Extreme Reach, Inc
- H2 Somplo Ltd
- H2 Adelaide Metrics Inc
- H2 Baidu (Hong Kong) Limited
- H2 Arpeely Ltd.
- H2 Adventure Media SARL
- H2 Microsoft Advertising
- H2 Opera Software Ireland Limited
- H2 xpln.ai SAS
- H2 ABCS INSIGHTS
- H2 Affle Inc
- H2 Admaster Private Limited
- H2 Bidease Inc
- H2 Intango Ltd
- H2 Artsai
- H2 Meta
- H2 C3 Metrics
- H2 Roku Advertising Services
- H2 eBay
- H2 Evidon
- H2 GroovinAds
- H2 Sizmek
- H2 Equativ
- H2 SMN Corporation
- H2 TrustArc
- H2 CyberAgent
- H2 MicroAd
- H2 AdMaxim
- H2 Magnite
- H2 Yango
- H2 Singular Labs Inc.
- H2 Neustar
- H2 Netquest
- H2 Cloudflare
- H2 Salesforce DMP
- H2 Bridgewell
- H2 AppLovin Corp.
- H2 AdTheorent, Inc.
- H2 Rackspace
- H2 Placed
- H2 Aarki
- H2 NinthDecimal
- H2 TreSensa
- H2 Bigabid
- H2 Optimize LCC D.B.A Genius Monkey
- H2 gskinner
- H2 Yahoo! Japan
- H2 Chalk Digital
- H2 jsdelivr
- H2 HockeyCurve
- H2 Upwave
- H2 IQM
- H2 fluct
- H2 Zucks
- H2 UNICORN
- H2 AdFalcon
- H2 Supership
- H2 Marketing Science Consulting Group, Inc.
- H2 Kobler
- H2 Adstra
- H2 Persona.ly
- H2 Oracle Data Cloud
- H2 Throtle
- H2 ironSource Mobile
- H2 MediaPal
- H2 Tuky Data
- H2 CONTXTFUL
- H2 MarketCast LLC
- H2 LeadsRx
- H2 clean.io
- H2 Unity Ads
- H2 Loblaw Media
- H2 Ad Lightning
- H2 Lacuna
- H2 Coupang
- H2 Playable Factory
- H2 Prism Partner
- H2 TemuDSP
- H2 DISQO
- H2 Mercado Livre
- 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
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
CForm AccessibilityAction14 of 298 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| select | select | Widget de idiomas del Traductor | aria-label |
| #search-input | text | none | |
| input | checkbox | Consent (123 vendors) | none |
| input | checkbox | Consent (75 vendors) | none |
| #fc-preference-slider-purpose-2 | checkbox | Legitimate interest (41 vendors) | none |
| input | checkbox | Consent (106 vendors) | none |
| input | checkbox | Consent (106 vendors) | none |
| input | checkbox | Consent (31 vendors) | none |
| input | checkbox | Consent (29 vendors) | none |
| input | checkbox | Consent (76 vendors) | none |
| #fc-preference-slider-purpose-7 | checkbox | Legitimate interest (59 vendors) | none |
| input | checkbox | Consent (30 vendors) | none |
| #fc-preference-slider-purpose-8 | checkbox | Legitimate interest (21 vendors) | none |
| input | checkbox | Consent (57 vendors) | none |
| #fc-preference-slider-purpose-9 | checkbox | Legitimate interest (31 vendors) | none |
| input | checkbox | Consent (64 vendors) | none |
| #fc-preference-slider-purpose-10 | checkbox | Legitimate interest (51 vendors) | none |
| input | checkbox | Consent (14 vendors) | none |
| #fc-preference-slider-purpose-11 | checkbox | Legitimate interest (5 vendors) | 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 |
| #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 |
| 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 |
| 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 |
| #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 |
| #fc-preference-slider-gvl-vendor-85 | checkbox | Legitimate interest | 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 |
| #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-142 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-156 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | 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 |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-192 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | 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 |
| #fc-preference-slider-gvl-vendor-231 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-232 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-238 | checkbox | Legitimate interest | 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 |
| #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-290 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-294 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-297 | 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 |
| #fc-preference-slider-gvl-vendor-394 | checkbox | Legitimate interest | 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 |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-486 | 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-527 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-528 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-541 | 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 |
| #fc-preference-slider-gvl-vendor-612 | 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-667 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-690 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-699 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-728 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-740 | checkbox | Legitimate interest | 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-767 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-804 | checkbox | Legitimate interest | 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-867 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-986 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-1005 | checkbox | Legitimate interest | none |
| #fc-preference-slider-gvl-vendor-1019 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-1067 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-1071 | checkbox | Legitimate interest | none |
| input | checkbox | Consent | none |
| input | checkbox | Consent | none |
| #fc-preference-slider-gvl-vendor-1135 | checkbox | Legitimate interest | none |
| #fc-preference-slider-gvl-vendor-1142 | 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-1391 | checkbox | Legitimate interest | none |
| #fc-preference-slider-gvl-vendor-1412 | 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 |
| select | select | (none) | none |
| select | select | (none) | none |
| select | select | (none) | none |
| select | select | (none) | none |
| select | select | (none) | none |
| select | select | (none) | none |
| select | select | (none) | none |
| #goog-gt-votingInputSrcLang | text | (none) | none |
| #goog-gt-votingInputTrgLang | text | (none) | none |
| #goog-gt-votingInputSrcText | text | (none) | none |
| #goog-gt-votingInputTrgText | text | (none) | none |
| #goog-gt-votingInputVote | text | (none) | none |
| select | select | (none) | none |
| select | select | (none) | none |
Form controls need a <label>, aria-label, or aria-labelledby for screen readers.
<select>; <select>; <select>; <select>; <select>; <select>; <select>; <select>; <select>; <input type="text" name="sl" id="goog-gt-votingInputSrcLang"> (+4 more)
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
CLink & Button QualityAction145 issue(s) across 883 links and 111 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://translate.google.com | Traductor de Google | new tab | Add '(opens in new tab)' to text |
| https://world.kbs.co.kr | KBS WORLD | new tab | Add '(opens in new tab)' to text |
| https://onair.kbs.co.kr/index.html?sname… | KBS 1TV | img no alt | Add alt attribute to the image |
| https://onair.kbs.co.kr/index.html?sname… | KBS 2TV | img no alt | Add alt attribute to the image |
| https://world.kbs.co.kr | KBS WORLD | new tab | Add '(opens in new tab)' to text |
| index.html?sname=onair&stype=live&ch_cod… | 100% 진행 전격시… | new tab | Add '(opens in new tab)' to text |
| index.html?sname=onair&stype=live&ch_cod… | 100% 진행 우리의… | new tab | Add '(opens in new tab)' to text |
| index.html?sname=onair&stype=live&ch_cod… | 100% 진행 라디오… | new tab | Add '(opens in new tab)' to text |
| index.html?sname=onair&stype=live&ch_cod… | 100% 진행 출발 FM… | new tab | Add '(opens in new tab)' to text |
| index.html?sname=onair&stype=live&ch_cod… | 100% 진행 조정식… | new tab | Add '(opens in new tab)' to text |
| index.html?sname=onair&stype=live&ch_cod… | 100% 진행 보고 … | new tab | Add '(opens in new tab)' to text |
| index.html?sname=onair&stype=live&ch_cod… | 100% 진행 Wonder Ho… | new tab | Add '(opens in new tab)' to text |
| https://news.kbs.co.kr/news/pc/view/view… | 동영상 백악관 “… | img no alt | Add alt attribute to the image |
| https://news.kbs.co.kr/news/pc/view/view… | 동영상 이란 “대… | img no alt | Add alt attribute to the image |
| https://news.kbs.co.kr/news/pc/view/view… | 동영상 이란 매체 … | img no alt | Add alt attribute to the image |
| /index.html?source=episode&sname=vod&sty… | 동영상 … | img no alt | Add alt attribute to the image |
| /index.html?source=episode&sname=vod&sty… | 동영상 … | img no alt | Add alt attribute to the image |
| /index.html?source=episode&sname=vod&sty… | 48:26 … | img no alt | Add alt attribute to the image |
| /index.html?source=episode&sname=vod&sty… | 28:50 … | img no alt | Add alt attribute to the image |
| /index.html?source=episode&sname=vod&sty… | 32:23 … | img no alt | Add alt attribute to the image |
| /index.html?source=episode&sname=vod&sty… | 48:33 … | img no alt | Add alt attribute to the image |
| /index.html?source=smr&sname=vod&stype=v… | 02:42 … | img no alt | Add alt attribute to the image |
| /index.html?source=smr&sname=vod&stype=v… | 02:43 … | img no alt | Add alt attribute to the image |
| /index.html?source=smr&sname=vod&stype=v… | 03:55 … | img no alt | Add alt attribute to the image |
| /index.html?source=smr&sname=vod&stype=v… | 03:18 … | img no alt | Add alt attribute to the image |
| /index.html?source=smr&sname=vod&stype=v… | 03:06 … | img no alt | Add alt attribute to the image |
| /index.html?source=smr&sname=vod&stype=v… | 03:37 … | img no alt | Add alt attribute to the image |
| /index.html?source=smr&sname=vod&stype=v… | 04:11 … | img no alt | Add alt attribute to the image |
| /index.html?source=smr&sname=vod&stype=v… | 04:08 … | img no alt | Add alt attribute to the image |
| https://program.kbs.co.kr/2tv/drama/cabb… | 심우면 연리리 … | img no alt | Add alt attribute to the image |
| https://program.kbs.co.kr/2tv/enter/brai… | 옥탑방의 문제아들 … | img no alt | Add alt attribute to the image |
| https://program.kbs.co.kr/1tv/culture/do… | 다큐 인사이트 … | img no alt | Add alt attribute to the image |
| https://program.kbs.co.kr/1tv/culture/ta… | 한국인의 밥상 … | img no alt | Add alt attribute to the image |
| https://program.kbs.co.kr/1tv/drama/happ… | 기쁜 우리 좋은 날 … | img no alt | Add alt attribute to the image |
| https://radio.kbs.co.kr/kong.html?sectio… | KBS RADIO KONG | img no alt | Add alt attribute to the image |
| https://kstar.kbs.co.kr/list_view.html?i… | "연리리는로코맛집" 이… | img no alt | Add alt attribute to the image |
| https://kstar.kbs.co.kr/list_view.html?i… | "책,책,책" 아이브 가… | img no alt | Add alt attribute to the image |
| https://kstar.kbs.co.kr/list_view.html?i… | '옥탑방의야구선수들'… | img no alt | Add alt attribute to the image |
| https://kstar.kbs.co.kr/list_view.html?i… | "정우하고은우하고같… | img no alt | Add alt attribute to the image |
| https://kstar.kbs.co.kr/list_view.html?i… | [인터뷰]이명세감독, … | img no alt | Add alt attribute to the image |
| index.html?source=episode&sname=vod&styp… | [차마고도]마지막마방 … | img no alt | Add alt attribute to the image |
| index.html?source=episode&sname=vod&styp… | 키스더유니버스 「2022 … | img no alt | Add alt attribute to the image |
| index.html?source=episode&sname=vod&styp… | 누들로드1부기묘한 음… | img no alt | Add alt attribute to the image |
| /index.html?source=episode&sname=vod&sty… | 한국사기1부: 인간의 … | img no alt | Add alt attribute to the image |
| index.html?source=episode&sname=vod&styp… | 요리인류도시의 맛 1부… | img no alt | Add alt attribute to the image |
| https://music.kbs.co.kr/player.html?type… | 쿨룩LIVE▷ 우원재 ‘서… | img no alt | Add alt attribute to the image |
| https://music.kbs.co.kr/player.html?type… | 쿨룩LIVE▷ 플레이브(PLA… | img no alt | Add alt attribute to the image |
| https://music.kbs.co.kr/player.html?type… | 영탁이만드는감성과 … | img no alt | Add alt attribute to the image |
| https://music.kbs.co.kr/player.html?type… | 황민우,리틀싸이등장 !… | img no alt | Add alt attribute to the image |
| https://music.kbs.co.kr/player.html?type… | 듣자마자A각,이번 시험… | img no alt | Add alt attribute to the image |
| /index.html?source=mylovekbs&sname=mylov… | KBS,‘한-베트남정상회… | img no alt | Add alt attribute to the image |
| /index.html?source=mylovekbs&sname=mylov… | AI시대 현장직으로 뛰… | img no alt | Add alt attribute to the image |
| /index.html?source=mylovekbs&sname=mylov… | KBS한민족방송특별기획… | img no alt | Add alt attribute to the image |
| /index.html?source=mylovekbs&sname=mylov… | 90세목전에 찾아온 ‘… | img no alt | Add alt attribute to the image |
| /index.html?source=mylovekbs&sname=mylov… | 14,000명의관객열광, 한… | img no alt | Add alt attribute to the image |
| https://program.kbs.co.kr/online/office/… | KBS 제작시설 임대 | new tab | Add '(opens in new tab)' to text |
| https://kbsplus.kbs.co.kr/promotion/open… | 방송사 유일 무료 OTT … | new tab | Add '(opens in new tab)' to text |
| https://program.kbs.co.kr/online/office/… | TV수신료-전기요금 통… | new tab | Add '(opens in new tab)' to text |
| https://program.kbs.co.kr/online/office/… | KBS 제작시설 임대 | new tab | Add '(opens in new tab)' to text |
| https://kbsplus.kbs.co.kr/promotion/open… | 방송사 유일 무료 OTT … | new tab | Add '(opens in new tab)' to text |
| https://program.kbs.co.kr/online/office/… | TV수신료-전기요금 통… | new tab | Add '(opens in new tab)' to text |
| https://program.kbs.co.kr/online/office/… | KBS 제작시설 임대 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/KBSDocument… | KBS다큐 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/kbs | KBSDrama | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@KBS_BABY | 슈돌슈퍼맨이 돌아왔… | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UCmZ19AI… | Again가요톱 10 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@kbs-together | KBS같이삽시다 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/KBSLife | KBS교양 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UCGsJRpG… | 인물사전스타티비 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@KBSTMO | KBS국악관현악단 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/1004KBS | KBS한국방송 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/NewsKBS | KBSNews | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/KBSKpop | KBSKPop | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@kbsanimalkingdo… | KBS동물의 왕국 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/KBSEntertai… | KBSEntertain | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UC6wiUwl… | Human뭉클티비 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UC271vX3… | Entertain깔깔티비 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UCXVfodm… | Comedy크큭티비 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@kbsworldtv | KBSWORLD TV | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@LegendKpop | KBS레전드 케이팝 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@KBS_Joy | KBSJOY | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UCAhKKbD… | KBS동물티비 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/KBSDocument… | KBS다큐 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/kbs | KBSDrama | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@KBS_BABY | 슈돌슈퍼맨이 돌아왔… | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UCmZ19AI… | Again가요톱 10 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@kbs-together | KBS같이삽시다 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/KBSLife | KBS교양 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UCGsJRpG… | 인물사전스타티비 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@KBSTMO | KBS국악관현악단 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/1004KBS | KBS한국방송 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/NewsKBS | KBSNews | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/KBSKpop | KBSKPop | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/@kbsanimalkingdo… | KBS동물의 왕국 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/user/KBSEntertai… | KBSEntertain | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UC6wiUwl… | Human뭉클티비 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UC271vX3… | Entertain깔깔티비 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/channel/UCXVfodm… | Comedy크큭티비 | new tab | Add '(opens in new tab)' to text |
| http://kbsbiz.co.kr/ | KBS 비즈니스 | new tab | Add '(opens in new tab)' to text |
| http://www.kbsart.co.kr/ | KBS 아트비전 | new tab | Add '(opens in new tab)' to text |
| http://www.kbs-america.com/ | KBS America | new tab | Add '(opens in new tab)' to text |
| http://www.kbs-mt.com/ | KBS 미디어텍 | new tab | Add '(opens in new tab)' to text |
| http://www.kbssecurity.co.kr/ | KBS 시큐리티 | new tab | Add '(opens in new tab)' to text |
| http://www.kbsmedia.co.kr/ | KBS 미디어 | new tab | Add '(opens in new tab)' to text |
| http://www.kbsn.co.kr/ | KBS N | new tab | Add '(opens in new tab)' to text |
| https://www.kbsworld.ne.jp/ | KBS Japan | new tab | Add '(opens in new tab)' to text |
| https://www.facebook.com/KBSPR | Facebook 대표계정 | new tab | Add '(opens in new tab)' to text |
| https://www.youtube.com/1004KBS | Youtube 대표계정 | new tab | Add '(opens in new tab)' to text |
| https://www.tiktok.com/@kbs_official | tiktok 바로가기 | new tab | Add '(opens in new tab)' to text |
| https://www.instagram.com/mylovekbs | Instagram 대표계정 | new tab | Add '(opens in new tab)' to text |
| https://twitter.com/MyloveKBS | Twitter 대표계정 | 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: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
| # | more | generic text | Replace with descriptive text |
Before: more Suggested: # | |||
Generic link text like 'click here' doesn't describe the destination.
# ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more"); # ("more") (+135 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
Add '(opens in new tab)' to link text or aria-label.
https://translate.google.com; https://world.kbs.co.kr; https://world.kbs.co.kr; index.html?sname=onair&stype=live&ch_code=21; index.html?sname=onair&stype=live&ch_code=22; index.html?sname=onair&stype=live&ch_code=23; index.html?sname=onair&stype=live&ch_code=24; index.html?sname=onair&stype=live&ch_code=25; index.html?sname=onair&stype=live&ch_code=26; index.html?sname=onair&stype=live&ch_code=I92 (+56 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
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 This site asks for c… | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h1 Manage your data | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h1 Confirm our vendors | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 영상 광고 | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 메인 메뉴 | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 푸터영역 | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Store and/or access … | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Use limited data to … | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Create profiles for … | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Use profiles to sele… | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Create profiles to p… | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Use profiles to sele… | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Measure advertising … | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Measure content perf… | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Understand audiences… | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Develop and improve … | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Use limited data to … | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Ensure security, pre… | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Deliver and present … | 1.17:1 | 3.0:1 | #000000 | #171717 | Fail |
| h2 Save and communicate… | 1.17:1 | 3.0:1 | #000000 | #171717 | 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.
BLighthouse Accessibility AuditsScore 84/100 — 5 failing, 30 passedREVIEW
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.
ARIA
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.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
100% 방송중 a.main-onair__link > div.main-onair__prog > span.main-onair__prog-timeline > span.main-onair__prog-bar |
100% 방송중 a.main-onair__link > div.main-onair__prog > span.main-onair__prog-timeline > span.main-onair__prog-bar |
These are opportunities to improve the usage of ARIA in your application which 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 |
|---|
06:00 a.main-onair__link > div.main-onair__prog > span.main-onair__prog-time > time |
07:50 a.main-onair__link > div.main-onair__prog > span.main-onair__prog-time > time |
다음 li.main-onair__item > a.main-onair__link > div.main-onair__next > span.main-onair__next-label |
07:50 a.main-onair__link > div.main-onair__next > span.main-onair__next-time > time |
08:25 a.main-onair__link > div.main-onair__next > span.main-onair__next-time > time |
#최신 section.component > div.component__inner > nav.tabs > button#section6-button--recent |
#최신 section.component > div.component__inner > nav.tabs > button#section7-button--recent |
© KBS. All rights reserved. div#wrap > footer#footer > div.footer__copy > p.footer__copy-txt |
© KBS. footer#footer > div.footer__copy > p.footer__copy-txt > strong |
무단 전재, 재배포 및 이용(AI 학습 포함) 금지 div#wrap > footer#footer > div.footer__copy > p.footer__copy-txt |
Learn more div.fc-dialog-content > div.fc-dialog-scrollable-content > button.fc-faq-header > span.fc-faq-label |
List of partners. div.fc-dialog-scrollable-content > div.fc-footer > p > a.fc-vendors-list-dialog |
These are opportunities to improve the legibility of your content.
Tables and lists
Screen readers have a specific way of announcing lists. Ensuring proper list structure aids screen reader output. Learn more about proper list structure.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
KBS1
KBS 뉴스광장
06:00 ~ 07:50
100% 방송중
다음
인간극장
07:50~08:25
KBS2
TV 유치원
07:00 ~ 07… section.component > div.component__inner > div.main-onair__swiper > ul#swiper-wrapper-c80eedc33bb1d265 |
심우면 연리리
2TV 목 21:50 방송
옥탑방의 문제아들
2TV 목 20:30 방송
다큐 인사이트
1TV 목 22:00 방송
한국인의 밥상
… div.component > div.component__inner > div.swiper > ul#swiper-wrapper-da838c53b518ee36 |
KBS
한국방송
KBS
News
KBS
KPop
KBS
동물의 왕국
KBS
Entertain
Human
뭉클티비
Entertain
깔깔티비
C… div.component > div.component__inner > div.swiper > ul#swiper-wrapper-4b79dee6ed8fd2210 |
1 / 3 section.component > div.component__inner > div.swiper > ul#swiper-wrapper-6fcabf3c5770b4cc |
KBS 제51기 전속성우 공모 1차 합격자 발표 및 2차 심사 안내
KBS 국악관현악단 신입 단원 공개채용 공모요강
공동주택 공시청관리자 교육… div.component__inner > div.txt-ticker > div.txt-ticker__wrapper > ul#swiper-wrapper-8ea496d96b6cde3b |
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.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
01:11:55
[서울체임버오케스트라 제104회 정기연주회] 지휘·비올라 - 김상진, 클라리넷 - 찰스 나이딕 / 예술의전당 IBK챔버홀 / … section.component > div.component__inner > ul#section6__content--recent > li.grid__item |
47:33
[보이지 않는 암, 혈액암 정복기] 눈에 보이지 않아 더 무서운 혈액암, 통증 없이 찾아와 온몸으로 이상 신호가 번지고 치료 이후에… section.component > div.component__inner > ul#section6__content--recent > li.grid__item |
48:26
슈퍼캐치 진실의 눈
오늘 슈퍼캐치 진실의 눈 section.component > div.component__inner > ul#section6__content--recent > li.grid__item |
28:50
강수의 유언장을 찾으려던 수정은 영화의 펜던트를 살펴보다가 들키고, 지선은 은형 임용 조건으로 2억이 필요하다며 연자를 찾아간다. … section.component > div.component__inner > ul#section6__content--recent > li.grid__item |
02:42
빽빽한 산림이 뒤엉킨 장엄한 일몰을 감상할 수 있는 파쏘산 전망대 Copyright ⓒ KBS. All rights reserved… section.component > div.component__inner > ul#section7__content--recent > li.grid__item |
02:43
썰물 때만 열려 독특한 풍광을 자아내는 노지 이란자 Copyright ⓒ KBS. All rights reserved. 무단 전재,… section.component > div.component__inner > ul#section7__content--recent > li.grid__item |
03:55
보트 투어를 즐길 수 있는 노지 베의 마디로켈리 해변 Copyright ⓒ KBS. All rights reserved. 무단 전재… section.component > div.component__inner > ul#section7__content--recent > li.grid__item |
03:18
많은 사람들이 생애 한 번쯤 오고 싶어 하는 바오바브 거리 Copyright ⓒ KBS. All rights reserved. 무단… section.component > div.component__inner > ul#section7__content--recent > li.grid__item |
These are opportunities to improve the experience of reading tabular or list data using assistive technology, like a screen reader.
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 |
These items highlight common accessibility best practices.