Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.FHeading HierarchyAction115 headings, 4 skip(s)FIX
- H2 CNAR Search menu
- H4 Search skipped
- H4 Trending Topics
- H4 Follow CNA
- H4 Recent Searches
- H4 Trending Topics
- H2 CNAR Primary Menu
- H2 CNAR Secondary Menu
- H4 Search skipped
- H4 Trending Topics
- H4 Follow CNA
- H4 Recent Searches
- H4 Trending Topics
- H3 Trump says the US will extend its ceasefire with Iran at Pakistan's request
- H3 Singapore must use technology for law enforcement judiciously, given privacy concerns: Ong Ye Kung
- H3 Warsh says he made no rate-cut promises to Trump, plans 'robust' Fed reforms
- H3 To sack or not: PM Anwar and PKR’s dilemma on fierce critic Rafizi
- H3 What we know about the Touska, the Iranian ship seized by the US
- H3 Stocks fall, oil climbs amid uncertainty over US-Iran talks
- H3 Much harder for government to deliver prosperity and progress in challenging environment: SM Lee
- H3 Seafarer safety in Strait of Hormuz 'top of our mind', but right of passage non-negotiable: DPM Gan
- H3 Amid geopolitical and tech shifts, countries must rethink national security: Vivian Balakrishnan
- H3 Singapore’s built environment evolves with smarter, greener solutions
- H3 Singapore must use technology for law enforcement judiciously, given privacy concerns: Ong Ye Kung
- H3 Warsh says he made no rate-cut promises to Trump, plans 'robust' Fed reforms
- H3 To sack or not: PM Anwar and PKR’s dilemma on fierce critic Rafizi
- H2 Watch CNA Live
- H2 Shorts
- H2 Stronger admin service needed as Singapore faces more dangerous world: SM Lee
- H2 ‘We must constantly review current policies’: SM Lee to admin service
- H2 When his brother struggles to breathe, this 11 yo steps in
- H2 CNA Lifestyle intern attends her first Star Awards
- H2 Singapore to roll out mass emergency alerts to mobile phones from May
- H2 Chinese nationals suspected of committing theft brought back to crime scene at VivoCity
- H2 More Top Stories
- H3 Taiwan blames Chinese pressure for cancelled Africa trip
- H3 China's top diplomat Wang Yi to tour Southeast Asia this week
- H3 Outrage in China after streaming site iQIYI debuts AI actor 'database'
- H3 China's Victory Giant jumps 50% in Hong Kong debut after US$2.6 billion offering
- H3 Rape retrial hears Weinstein 'preyed' on aspiring US actress
- H3 Indonesia passes long-awaited law to protect domestic workers
- H3 Another top Indonesian university suspends 16 students over alleged online sexual harassment
- H3 Mexico pyramid shooting was 'planned' attack: security officials
- H2 Podcasts
- H2 Beyond salary, the costs of hiring a helper in Singapore
- H2 The benefits of great mentor relationships at work
- H2 Promoted but with a small pay rise - is it worth it?
- H2 Energy shock: How the war on Iran is reshaping global power
- H2 War on Iran: The hidden costs for Singapore - and best/worst case scenarios
- H2 Commentary
- H3 Commentary: What happened when a group of locals and foreigners spoke bluntly about living together in Singapore
- H3 Commentary: Southeast Asia’s scam centres are a new US-China battleground
- H3 Commentary: Logic demands an Iran deal. Will fantasies of victory allow one?
- H3 Commentary: Returning to work after cancer is harder than we think
- H3 Commentary: Are we prepared for a widespread telco outage?
- H2 Discover more on CNA
- H2 CNA Games
- H2 CNA App
- H2 CNA Newsletters
- H2 CNA Podcasts
- H2 CNA Interactives
- H2 Lifestyle
- H3 Bloating, fatigue, constipation: The colorectal cancer symptoms women often dismiss
- H3 Starbucks Singapore draws criticism over plan to remove straws from condiment bars
- H3 Singaporean actor-artist Chen Xi and wife host Japan wedding ceremony with guests from across the globe
- H3 Jesseca Liu clinches first Best Actress win after 22 years at Star Awards 2026
- H3 Blackpink’s Jisoo denies connection to brother’s sexual assault allegations amid speculation linking her to case
- H3 A beginner’s guide to buying pre-owned luxury watches: Risks and tips
- H3 Halal cafe Penny University to close Kampong Glam outlet
- H2 Visual Stories
- H3 Residents return to ravaged homes months after Hong Kong fire
- H3 Fire razes 1,000 'stilt' homes in Malaysia's Sabah, thousands displaced
- H3 Star Awards 2026: Highlights from Walk of Fame red carpet
- H3 Two landmark satellite antennas removed from Bukit Timah Satellite Earth Station
- H3 Student kills nine, wounds 13 in Türkiye's second school shooting in two days
- H3 He strives to keep model-building alive in a screen-obsessed world
- H2 Insider
- H2 Inside a Japanese 'resignation agency': Why Japan's workers need help quitting their jobs
- H3 We were the kids in that 70s Ribena Ad - And here’s how we’ve grown up
- H3 Inside the lucrative trade of shark fishing in Indonesia
- H3 Why Indonesia’s Gen Zs struggle to thrive: Poor education standards, low wage jobs
- H3 What Gen Z teens really think of dumb phones after trying them for 10 days
- H2 TODAY
- H2 Voices: I was told to diversify my investments. Now I'm questioning the 60/40 strategy
- H6 Up Close: What one man is teaching Singaporeans about living with the visually impaired – a crossing, a tour, a firm ‘no’ at a time skipped
- H6 Voices: My dream of a career in aviation keeps me going as I navigate life with severe haemophilia
- H6 Big Read: Singapore needs more mental health professionals but pricing, regulation of services need a closer look
- H6 Ground Up: Long waits for lessons, tests pushing some learner drivers closer to giving up
- H2 Luxury
- H3 Grand Hyatt Tokyo celebrates Pokemon’s 30th anniversary with themed rooms and Pikachu-inspired dining
- H3 Luxury brands are under pressure as the post-pandemic boom fades
- H3 Star Awards 2026: Best jewellery moments on the red carpet
- H3 Watches spotted at Star Awards 2026: 10 timepieces that stole the show
- H3 How this 1980s walk-up apartment in eastern Singapore was redesigned for family life
- H3 Why Magia de Uma is one of Bali’s most distinctive new boutique hotels
- H3 How Violet Oon and her children are narrating Singapore’s food story for a new generation
- H2 Latest Videos
- H2 Lunch Actually Group's Violet Lim on Singapore's dating scene
- H3 Harder for Singapore to sustain growth as global order weakens: SM Lee
- H3 Social governance: Better awareness needed on effects of technology, says Ong Ye Kung
- H3 Why more dating apps are not helping singles find love in Singapore
- H3 Digitalising the maritime sector: OCEANS-X platform to connect maritime ecosystem, boost efficiency
- H2 Trending
- H6 Italian man sold 'fake' Rolex that turned out to be real in 'impossible' crime against Singapore watch shop skipped
- H6 Man seen kicking woman in Lucky Plaza video to be charged
- H6 ‘Live a good life’: Why these Singaporeans left the corporate world to be farmers in Johor
- H6 Eight children killed at home in US domestic violence shooting, police say
- H6 Hours-long baggage delays at Malaysia’s KLIA as transport minister warns against lapses
- H2 Brand Studio
- H2 Switzerland beyond the checklist: Where small moments shape the journey
- H2 Meyer Blue: A coastal address that keeps the city close
- H3 Singapore’s built environment evolves with smarter, greener solutions
- H3 Powering Asia’s energy transition through applied postgraduate training
- H3 50 years of caring across generations: Raffles Medical Group’s story comes to life
- H3 Chapters There are no chapters for this podcast.
Every page should have one H1 that describes the page content.
No H1 means screen-reader users can't identify the page's primary topic, and Google's content-extraction degrades.
Learn more ▾ ▴
The H1 is the document title for assistive tech and a strong signal to search engines about page topic. Pages without one force screen readers to fall back to the <title> attribute or page chrome. Add a single H1 that names the page's primary subject.
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
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
FAlt Text QualityAction25 of 104 images have issuesFIX
| Issue | Count |
|---|---|
| missing | 17 image(s) |
| generic | 8 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
An image inside a link with no alt creates an empty link.
Image-only links with no alt create empty links — screen-reader users hear 'link' with no destination context.
Learn more ▾ ▴
An <a><img></a> with no img alt is the worst-case for accessibility: AT announces the link but can't describe where it goes. Either add alt to the image OR add aria-label to the link.
Source: WCAG 2.1 SC 2.4.4
FForm AccessibilityAction14 of 14 controls have issuesFIX
| Control | Type | Label | Method |
|---|---|---|---|
| #search-input-box | search | (Search keywords, topics and more) | placeholder only |
| #algolia-search-input | search | (Search keywords, topics and more) | placeholder only |
| #algolia-search-input | search | (Search keywords, topics and more) | placeholder only |
| #algolia-search-input | search | (Search keywords, topics and more) | placeholder only |
| #algolia-search-input | search | (Search keywords, topics and more) | placeholder only |
| 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 |
| 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>
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="search" name="search" id="search-input-box">; <input type="search" name="search" id="algolia-search-input">; <input type="search" name="search" id="algolia-search-input">; <input type="search" name="search" id="algolia-search-input">; <input type="search" name="search" id="algolia-search-input">
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
FLink & Button QualityAction23 issue(s) across 582 links and 53 buttonsFIX
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://cnalifestyle.channelnewsasia.com… | Lifestyle | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Entertainment | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Women | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Wellness | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Living | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Style & Beauty | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Dining | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Travel | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com | Luxury | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/ex… | Experiences | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/ob… | Obsessions | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/pe… | People | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/re… | Remarkable Living | new tab | Add '(opens in new tab)' to text |
| /international | More | generic text | Replace with descriptive text |
Before: More Suggested: International | |||
| /cna-insider | (empty) | empty | Add link text or aria-label |
| https://cnalifestyle.channelnewsasia.com… | Lifestyle | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Entertainment | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Women | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Wellness | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Living | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Style & Beauty | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Dining | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Travel | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/ | Luxury | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/ob… | Obsessions | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/pe… | People | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/re… | Remarkable Living | new tab | Add '(opens in new tab)' to text |
| /newsletters | (empty) | empty | Add link text or aria-label |
| /topic/cna-explains | CNA Explains | new tab | Add '(opens in new tab)' to text |
| /topic/china | China | new tab | Add '(opens in new tab)' to text |
| /topic/artificial-intelligence | artificial intelligence | new tab | Add '(opens in new tab)' to text |
| /topic/indonesia | Indonesia | new tab | Add '(opens in new tab)' to text |
| /topic/malaysia | Malaysia | new tab | Add '(opens in new tab)' to text |
| /topic/podcasts | podcasts | new tab | Add '(opens in new tab)' to text |
| /topic/wellness | Wellness | new tab | Add '(opens in new tab)' to text |
| /topic/thailand | Thailand | new tab | Add '(opens in new tab)' to text |
| /topic/japan | Japan | new tab | Add '(opens in new tab)' to text |
| https://play.google.com/store/apps/detai… | Google Play | img no alt | Add alt attribute to the image |
| https://itunes.apple.com/us/app/channel-… | App Store | img no alt | Add alt attribute to the image |
| https://appgallery.huawei.com/#/app/C101… | Huawei App Gallery | img no alt | Add alt attribute to the image |
| /topic/cna-explains | CNA Explains | new tab | Add '(opens in new tab)' to text |
| /topic/china | China | new tab | Add '(opens in new tab)' to text |
| /topic/artificial-intelligence | artificial intelligence | new tab | Add '(opens in new tab)' to text |
| /topic/indonesia | Indonesia | new tab | Add '(opens in new tab)' to text |
| /topic/malaysia | Malaysia | new tab | Add '(opens in new tab)' to text |
| /topic/podcasts | podcasts | new tab | Add '(opens in new tab)' to text |
| /topic/wellness | Wellness | new tab | Add '(opens in new tab)' to text |
| /topic/thailand | Thailand | new tab | Add '(opens in new tab)' to text |
| /topic/japan | Japan | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Lifestyle | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Lifestyle | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Entertainment | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Women | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Wellness | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Living | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Style & Beauty | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Dining | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Travel | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com | Luxury | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/ex… | Experiences | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/ob… | Obsessions | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/pe… | People | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/re… | Remarkable Living | new tab | Add '(opens in new tab)' to text |
| /international | More | generic text | Replace with descriptive text |
Before: More Suggested: International | |||
| /cna-insider | (empty) | empty | Add link text or aria-label |
| https://cnalifestyle.channelnewsasia.com… | Lifestyle | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Entertainment | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Women | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Wellness | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Living | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Style & Beauty | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Dining | new tab | Add '(opens in new tab)' to text |
| https://cnalifestyle.channelnewsasia.com… | Travel | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/ | Luxury | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/ob… | Obsessions | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/pe… | People | new tab | Add '(opens in new tab)' to text |
| https://cnaluxury.channelnewsasia.com/re… | Remarkable Living | new tab | Add '(opens in new tab)' to text |
| /newsletters | (empty) | empty | Add link text or aria-label |
| /topic/cna-explains | CNA Explains | new tab | Add '(opens in new tab)' to text |
| /topic/china | China | new tab | Add '(opens in new tab)' to text |
| /topic/artificial-intelligence | artificial intelligence | new tab | Add '(opens in new tab)' to text |
| /topic/indonesia | Indonesia | new tab | Add '(opens in new tab)' to text |
| /topic/malaysia | Malaysia | new tab | Add '(opens in new tab)' to text |
| /topic/podcasts | podcasts | new tab | Add '(opens in new tab)' to text |
| /topic/wellness | Wellness | new tab | Add '(opens in new tab)' to text |
| /topic/thailand | Thailand | new tab | Add '(opens in new tab)' to text |
| /topic/japan | Japan | new tab | Add '(opens in new tab)' to text |
| https://play.google.com/store/apps/detai… | Google Play | img no alt | Add alt attribute to the image |
| https://itunes.apple.com/us/app/channel-… | App Store | img no alt | Add alt attribute to the image |
| https://appgallery.huawei.com/#/app/C101… | Huawei App Gallery | img no alt | Add alt attribute to the image |
| /topic/cna-explains | CNA Explains | new tab | Add '(opens in new tab)' to text |
| /topic/china | China | new tab | Add '(opens in new tab)' to text |
| /topic/artificial-intelligence | artificial intelligence | new tab | Add '(opens in new tab)' to text |
| /topic/indonesia | Indonesia | new tab | Add '(opens in new tab)' to text |
| /topic/malaysia | Malaysia | new tab | Add '(opens in new tab)' to text |
| /topic/podcasts | podcasts | new tab | Add '(opens in new tab)' to text |
| /topic/wellness | Wellness | new tab | Add '(opens in new tab)' to text |
| /topic/thailand | Thailand | new tab | Add '(opens in new tab)' to text |
| /topic/japan | Japan | new tab | Add '(opens in new tab)' to text |
| (empty) | empty | Add link text or aria-label | |
| https://t.me/cnalatest | (empty) | empty | Add link text or aria-label |
| https://t.me/cnalatest | (empty) | empty | Add link text or aria-label |
| https://play.google.com/store/apps/detai… | Google Play | img no alt | Add alt attribute to the image |
| https://itunes.apple.com/us/app/channel-… | App Store | img no alt | Add alt attribute to the image |
| https://appgallery.huawei.com/#/app/C101… | Huawei App Gallery | img no alt | Add alt attribute to the image |
| javascript:; | (empty) | empty | Add link text or aria-label |
| javascript:; | (empty) | empty | Add link text or aria-label |
| javascript:; | (empty) | empty | Add link text or aria-label |
| javascript:; | (empty) | empty | Add link text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (empty) | empty | Add button text or aria-label |
| <button> | (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.
/cna-insider; /newsletters; /cna-insider; /newsletters; a#main-content; https://t.me/cnalatest; https://t.me/cnalatest; javascript:;; javascript:;; javascript:; (+1 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.
/international ("More"); /international ("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://play.google.com/store/apps/details?id=com.channelnewsasia"]; a[href="https://itunes.apple.com/us/app/channel-newsasia/id520773971?mt=8"]; a[href="https://appgallery.huawei.com/#/app/C101326503?appId=C101326503&source=appsha…"]; a[href="https://play.google.com/store/apps/details?id=com.channelnewsasia"]; a[href="https://itunes.apple.com/us/app/channel-newsasia/id520773971?mt=8"]; a[href="https://appgallery.huawei.com/#/app/C101326503?appId=C101326503&source=appsha…"]; a[href="https://play.google.com/store/apps/details?id=com.channelnewsasia"]; a[href="https://itunes.apple.com/us/app/channel-newsasia/id520773971?mt=8"]; a[href="https://appgallery.huawei.com/#/app/C101326503?appId=C101326503&source=appsha…"]
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://cnalifestyle.channelnewsasia.com/; https://cnalifestyle.channelnewsasia.com/entertainment; https://cnalifestyle.channelnewsasia.com/women; https://cnalifestyle.channelnewsasia.com/wellness; https://cnalifestyle.channelnewsasia.com/living; https://cnalifestyle.channelnewsasia.com/style; https://cnalifestyle.channelnewsasia.com/dining; https://cnalifestyle.channelnewsasia.com/travel; https://cnaluxury.channelnewsasia.com; https://cnaluxury.channelnewsasia.com/experiences (+77 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.
button#algolia-autocomplete-submit; button#algolia-autocomplete-reset; button#algolia-autocomplete-submit; button#algolia-autocomplete-reset; button.cnar-primary-menu-scrollable-chevron (#1293 on page); button.cnar-primary-menu-scrollable-chevron (#1296 on page); button#algolia-autocomplete-submit; button#algolia-autocomplete-reset; button#algolia-autocomplete-submit; button#algolia-autocomplete-reset
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
CColor Contrast (Screenshot)Action20 text elements analyzed, 1 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 |
|---|---|---|---|---|---|
| h2 CNAR Search menu | 1.06:1 | 3.0:1 | #000000 | #040B11 | Fail |
| h2 CNAR Primary Menu | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 CNAR Secondary Menu | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Watch CNA Live | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Shorts | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 More Top Stories | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Podcasts | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Commentary | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Discover more on CNA | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 CNA Games | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 CNA App | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 CNA Newsletters | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 CNA Podcasts | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 CNA Interactives | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Lifestyle | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Visual Stories | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Insider | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 TODAY | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Luxury | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Latest Videos | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
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.
CLighthouse Accessibility AuditsActionScore 75/100 — 7 failing, 22 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 an element doesn't have an accessible name, screen readers announce it with a generic name, making it unusable for users who rely on screen readers. Learn how to make command elements more accessible.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div.fast-button__tooltip-fast-home-button > div.fast-tooltip > div.fast-tooltip__body > div.fast-tooltip__close-button div.fast-button__tooltip-fast-home-button > div.fast-tooltip > div.fast-tooltip__body > div.fast-tooltip__close-button |
Focusable descendents within an `[aria-hidden="true"]` element prevent those interactive elements from being available to users of assistive technologies like screen readers. Learn how `aria-hidden` affects focusable elements.
Informational: a Permissions-Policy directive showing feature -> allowed origins.
Source: MDN Permissions-Policy
| Failing Elements |
|---|
‘We must constantly review current policies’: SM Lee to admin service
1m 25s div.cna-short-videos__items > div.slick-list > div.slick-track > div.card-object |
The benefits of great mentor relationships at work
2 days ago
27 mins div.cna-podcasts__items > div.slick-list > div.slick-track > div.card-object |
Download now
CNA App
Download the CNA App and stay updated. Available for Andro… div.discover-more-cta-content > div.slick-list > div.slick-track > div.discover-cna-carousel__listing |
Blackpink’s Jisoo denies connection to brother’s sexual assault allegations ami… div.cna-top-stories__col-three--wrapper > div.slick-list > div.slick-track > div.card-object |
Fire razes 1,000 'stilt' homes in Malaysia's Sabah, thousands displaced
a day a… div.cna-visual-stories__row > div.slick-list > div.slick-track > div.card-object |
8 m
Inside the lucrative trade of shark fishing in Indonesia
about a year ago div.cna-insider__items > div.slick-list > div.slick-track > div.media-object |
How this 1980s walk-up apartment in eastern Singapore was redesigned for family… div.cna-top-stories__col-three--wrapper > div.slick-list > div.slick-track > div.card-object |
3 m
Social governance: Better awareness needed on effects of technology, says O… div.cna-latest-videos__items > div.slick-list > div.slick-track > div.media-object |
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.
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 |
|---|
nav#block-cnarprimarymenu > div#cnar-primary-menubar > div.cnar-primary-menu-scrollable-wrapper > button.cnar-primary-menu-scrollable-chevron nav#block-cnarprimarymenu > div#cnar-primary-menubar > div.cnar-primary-menu-scrollable-wrapper > button.cnar-primary-menu-scrollable-chevron |
Informative elements should aim for short, descriptive alternate text. Decorative elements can be ignored with an empty alt attribute. Learn more about the `alt` attribute.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div.spotlight > a.link > picture.image > img.image div.spotlight > a.link > picture.image > img.image |
div.footer-dowload > a.footer-dowload__link > picture > img.footer-dowload__google-play div.footer-dowload > a.footer-dowload__link > picture > img.footer-dowload__google-play |
div.footer-dowload > a.footer-dowload__link > picture > img.footer-dowload__app-store div.footer-dowload > a.footer-dowload__link > picture > img.footer-dowload__app-store |
div.footer-dowload > a.footer-dowload__link > picture > img.footer-dowload__huawei-app-gallery div.footer-dowload > a.footer-dowload__link > picture > img.footer-dowload__huawei-app-gallery |
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 |
|---|
nav#profile-menu-nav > ul.inline-menu > li.inline-menu__item > a.inline-menu__link nav#profile-menu-nav > ul.inline-menu > li.inline-menu__item > a.inline-menu__link |
div.layout__region > section.block-type--spotlight > div.spotlight > a.link div.layout__region > section.block-type--spotlight > div.spotlight > a.link |
body.page__landing-page > div.dialog-off-canvas-main-canvas > div#modal-11 > a.popup__overlay body.page__landing-page > div.dialog-off-canvas-main-canvas > div#modal-11 > a.popup__overlay |
div#modal-11 > div.popup__dialog-wrapper > div.popup__dialog > a.popup__close div#modal-11 > div.popup__dialog-wrapper > div.popup__dialog > a.popup__close |
body.page__landing-page > div.dialog-off-canvas-main-canvas > div#modal-11 > a.popup__overlay body.page__landing-page > div.dialog-off-canvas-main-canvas > div#modal-11 > a.popup__overlay |
div#modal-11 > div.popup__dialog-wrapper > div.popup__dialog > a.popup__close div#modal-11 > div.popup__dialog-wrapper > div.popup__dialog > a.popup__close |
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 |
|---|
ADVERTISEMENT div.full-content > div.full-content__region > section#block-leaderboard01article-2 > div.block-title |
ADVERTISEMENT div.layout > div.layout__region > section.block > div.block-title |
ADVERTISEMENT div.layout > div.layout__region > section.block > div.block-title |
ADVERTISEMENT div.layout > div.layout__region > section.block > div.block-title |
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 |
|---|
Up Close: What one man is teaching Singaporeans about living with the visually … div.card-object__content > div.card-object__body > div.list-object > h6.h6 |
Blackpink’s Jisoo denies connection to brother’s sexual assault allegations ami… div.card-object__content > div.card-object__body > div.list-object > h6.h6 |
These are opportunities to improve keyboard navigation in your application.
ALandmark Structure15 landmarksPASS
Multiple navigations need aria-label to distinguish them for screen readers.
Some <nav> elements lack aria-label — screen-reader users hear 'navigation' multiple times with no way to distinguish them.
Learn more ▾ ▴
When a page has multiple <nav> regions (primary, footer, breadcrumb), each needs aria-label or aria-labelledby. AT users navigate by landmark; identical 'navigation' announcements force them to enter each one to discover purpose.
Source: WAI-ARIA Authoring Practices