Accessibility
· 13 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.FAlt Text QualityAction25 of 99 images have issuesFIX
| Issue | Count |
|---|---|
| missing | 25 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
DLink & Button QualityAction13 issue(s) across 183 links and 3 buttonsFIX
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://so.sina.cn/channel/360/search?vt… | (empty) | empty | Add link text or aria-label |
| https://my.sina.cn?vt=4&pos=108&his=0 | (empty) | empty | Add link text or aria-label |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label | |
| javascript:void(0); | 三国突然取消“飞越许… | img no alt | Add alt attribute to the image |
| javascript:void(0); | 巴菲特谈库克卸任:没… | img no alt | Add alt attribute to the image |
| javascript:void(0); | (empty) | empty | Add link text or aria-label |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label | |
| (empty) | empty | Add link text or aria-label |
Links without text are announced as raw URLs by screen readers.
https://so.sina.cn/channel/360/search?vt=4&pos=108&his=0; https://my.sina.cn?vt=4&pos=108&his=0; a.ls_f_r (#154 on page); a.ls_f_r (#157 on page); a.ls_f_r (#160 on page); a.ls_f_r (#163 on page); a.ls_f_r (#166 on page); a.ls_f_r (#169 on page); javascript:void(0);; a.ls_v (#937 on page) (+3 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
Image-only links need alt text on the image (or aria-label on the link) so screen readers can announce them.
a[href="javascript:void(0);"]; a[href="javascript:void(0);"]
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
F404 Error PageActionSoft 404 detectedFIX
The server returned HTTP 200 for a non-existent path. Search engines will index this page as real content. Configure your server to return HTTP 404 for missing pages.
FWeb ManifestActionInvalid JSONFIX
Manifest contains invalid JSON.
DDark Mode SupportActionNo dark mode signalsFIX
Detection limited to meta tags and inline styles.
DPrint StylesheetActionNo print stylesFIX
DLighthouse Accessibility AuditsActionScore 65/100 — 6 failing, 15 passedFIX
Accessibility
These checks highlight opportunities to improve the accessibility of your web app. Automatic detection can only detect a subset of issues and does not guarantee the accessibility of your web app, so manual testing is also encouraged.
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 |
|---|
图集 li.swiper-slide > a.home_banner > h2.swiper-slide_cite > span.sw_mark_txt |
点击查看更多 section#j_card_yaowen > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_tnews > section#j_card_morningEveningNews > a.jump_more > ins.most |
查看全部实时热点 section#j_card_tnews > section.s_card > a.j_callST > ins.most |
点击查看更多 section#j_card_tnews > section#j_card_miniVideo > a > ins.most |
点击查看更多 section#j_card_sports > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_ent > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_finance > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_tech > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_auto > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_house > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_edu > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_fashion > section.s_card_it > a > ins.most |
点击查看更多 section#j_card_games > section.s_card_it > a > ins.most |
导航 footer.ft > address.ft_ad > nav.ft_down > a.ft_down_a |
客户端下载 footer.ft > address.ft_ad > nav.ft_down > a.ft_down_a |
广告营销 footer.ft > address.ft_ad > nav.ft_down > a.ft_down_a |
反馈 footer.ft > address.ft_ad > nav.ft_down > a.ft_down_a |
新浪网违法和不良信息举报电话:400-052-0066 main.page_main > footer.ft > address.ft_ad > p.ft_down_p1 |
违法和不良信息举报中心 footer.ft > address.ft_ad > p.ft_down_p2 > a |
(京)网药械信息备字(2024)第 00220 号 main.page_main > footer.ft > address.ft_ad > p.ft_down_p2 |
Sina.cn(京ICP证000007) 2026-04-22 07:19 main.page_main > footer.ft > address.ft_ad > p.ft_down_p3 |
Sina.cn(京ICP证000007) footer.ft > address.ft_ad > p.ft_down_p3 > a |
打开新浪新闻 body > div#float-btn > div.callUp_btn_txt |
These are opportunities to improve the legibility of your content.
Names and labels
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 |
|---|
section#j_card_tnews > div > section#j_card_yaowen > img.j_callST section#j_card_tnews > div > section#j_card_yaowen > img.j_callST |
div.paper_feed_list > a.m_f_a_r > figure.m_f_div > img.img_width div.paper_feed_list > a.m_f_a_r > figure.m_f_div > img.img_width |
div.paper_feed_list > a.m_f_a_r > figure.m_f_div > img.img_width div.paper_feed_list > a.m_f_a_r > figure.m_f_div > img.img_width |
main.page_main > section#j_card_tnews > section#j_card_aichatBanner > img.j_callST main.page_main > section#j_card_tnews > section#j_card_aichatBanner > img.j_callST |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width div.cm_sw_scroll > div.cm_sw_content > figure.video_con_fig > img.img_width |
Screen reader users rely on frame titles to describe the contents of frames. Learn more about frame titles.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
body > main.page_main > div.j_sax > iframe body > main.page_main > div.j_sax > iframe |
div > section#j_card_yaowen > div#_2a08b8f613585210PDPS000000057683 > iframe div > section#j_card_yaowen > div#_2a08b8f613585210PDPS000000057683 > iframe |
div > section#j_card_yaowen > div#_7a8e19cd13585210PDPS000000057779 > iframe div > section#j_card_yaowen > div#_7a8e19cd13585210PDPS000000057779 > iframe |
section#j_card_tnews > div.s_card_sp_da > div#_a877c81812118577PDPS000000058118 > iframe section#j_card_tnews > div.s_card_sp_da > div#_a877c81812118577PDPS000000058118 > iframe |
section#j_card_tnews > div.s_card_sp_da > div#_1e41882e13583351PDPS000000057778 > iframe section#j_card_tnews > div.s_card_sp_da > div#_1e41882e13583351PDPS000000057778 > iframe |
section#j_card_sports > section.s_card_it > div#_9f09c88113585221PDPS000000065801 > iframe section#j_card_sports > section.s_card_it > div#_9f09c88113585221PDPS000000065801 > iframe |
section#j_card_sports > section.s_card_it > div#_c443d8a213585221PDPS000000060104 > iframe section#j_card_sports > section.s_card_it > div#_c443d8a213585221PDPS000000060104 > iframe |
section#j_card_tnews > div.s_card_sp_da > div#_4ec1488613583351PDPS000000057780 > iframe section#j_card_tnews > div.s_card_sp_da > div#_4ec1488613583351PDPS000000057780 > iframe |
section#j_card_ent > section.s_card_it > div#_d1a8596913585221PDPS000000065802 > iframe section#j_card_ent > section.s_card_it > div#_d1a8596913585221PDPS000000065802 > iframe |
section#j_card_ent > section.s_card_it > div#_94567bec13585221PDPS000000057781 > iframe section#j_card_ent > section.s_card_it > div#_94567bec13585221PDPS000000057781 > iframe |
Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users. Learn how to make links accessible.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
div.hd_top_row > div.hd_top_row_template > nav.hd_set > a.hd_s_search div.hd_top_row > div.hd_top_row_template > nav.hd_set > a.hd_s_search |
div.hd_top_row > div.hd_top_row_template > nav.hd_set > a#loginBox div.hd_top_row > div.hd_top_row_template > nav.hd_set > a#loginBox |
section#j_card_house > section.s_card_it > figure.i_gx2 > a.i_gx2_a section#j_card_house > section.s_card_it > figure.i_gx2 > a.i_gx2_a |
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.
Internationalization and localization
If a page doesn't specify a `lang` attribute, a screen reader assumes that the page is in the default language that the user chose when setting up the screen reader. If the page isn't actually in the default language, then the screen reader might not announce the page's text correctly. Learn more about the `lang` attribute.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
html html |
These are opportunities to improve the interpretation of your content by users in different locales.
Best practices
Disabling zooming is problematic for users with low vision who rely on screen magnification to properly see the contents of a web page. Learn more about the viewport meta tag.
Informational: a Permissions-Policy directive showing feature -> allowed origins.
Source: MDN Permissions-Policy
| Failing Elements |
|---|
head > meta head > meta |
These items highlight common accessibility best practices.
BLandmark Structure91 landmarksREVIEW
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
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
BHeading Hierarchy84 headingsREVIEW
- H2 新浪移动_手机新浪网_用户设置
- H2 图集沈阳:浑河畔郁金香绽放
- H2 图集阿根廷:马拉多纳死因案庭审继续
- H2 图集美国:温斯坦出庭受审
- H2 图集美国:联合国秘书长候选人进行非正式对话
- H2 图集昆明街头蓝花楹绽放
- H2 图集北京国子监紫藤花开
- H2 图集沈阳:浑河畔郁金香绽放
- H2 图集阿根廷:马拉多纳死因案庭审继续
- H2 习近平会见老挝国家主席特使沙伦赛
- H2 中莫传统友谊穿越历史 跨越山海
- H2 透视长三角港口群的韧性支撑
- H2 消息人士称伊朗不会参加22日的美伊谈判
- H2 美伊极限拉扯 伊朗拒绝出席谈判 美国延长停火期限但维持海上封锁
- H2 【新浪脉络】关注伊朗局势
- H2 直播:华为Pura系列及全场景新品发布会
- H2 谷爱凌:我越成功 就有越多人恨我
- H2 双色球开6注729万分落4地 福运奖开862万注
- H2 浙江少年“神仙球”,引来贝克汉姆
- H2 截至3月底全国5G基站总数已达495.8万个
- H2 三国突然取消“飞越许可”,赖清德窜访不了了
- H2 巴菲特谈库克卸任:没有库克 就不会有今天的苹果
- H2 联赛5连败!切尔西0-3布莱顿跌至第7先赛距前五7分 卡迪奥卢闪击
- H2 名记:杜兰特这种伤常规赛得歇2-3周 他就算复出也不是100%状态
- H2 Shams:杜兰特热身后决定是否出战 队内消息人士相信他能上场!
- H2 老鹰VS尼克斯裁判报告:最后时刻两次漏吹尼克斯犯规/违例
- H2 备战G2!火箭官方更新今日训练照:杜兰特进行投篮训练
- H2 这次能继续吗?詹姆斯生涯13次首轮1-0领先 全部晋级次轮
- H2 文班下赛季球衣将带有DPOY专属补丁 部分补丁赛后将嵌入球星卡中
- H2 打通通往观众的“最后一公里”(艺近人和)
- H2 流行音乐版权保护如何破局
- H2 4部国产影片入围天坛奖
- H2 《再回闽南》亮相漳州(侨乡新貌)
- H2 安徽微短剧 《我在霍山开民宿》喜获大奖
- H2 黄景瑜徐若晗二搭新剧《明川有知夏》开机,孟子义李昀锐谭松韵董晴新剧同启
- H2 爆款剧《唐朝诡事录》主创在爱奇艺世界大会现场直言:真人能演的剧,为什么非要AI做出假人来演?
- H2 马斯克无视法国检方传唤
- H2 FAA下令调查蓝色起源发射事故
- H2 伊朗武装部队:若遭侵略 将立即以强大力量打击预定目标
- H2 赖清德窜访不了了,三国突然取消飞航许可
- H2 中国和莫桑比克关于构建新时代中莫命运共同体的联合声明
- H2 4月21日增减持汇总:唯捷创芯等8股拟减持,共达电声增持(表)
- H2 特朗普称预计停火到期后将继续轰炸伊朗
- H2 何立峰会见美国通用电气医疗集团全球总裁兼首席执行官安杜尼
- H2 关键时刻!特朗普,重磅发声!美军警告:随时重启作战行动
- H2 苹果官宣:库克9月卸任CEO,特努斯接任
- H2 连涨十周后连降两周!谁在为AI算力涨价买单?
- H2 爱奇艺AI艺人库争议背后:为何要推进,如何保证演员和观众权益?
- H2 马斯克无视法国检方传唤,科技巨头与欧洲裂痕再加深
- H2 苹果新任首席执行官约翰・特努斯是谁?
- H2 词元超千倍裂变 从“烧钱”到“烧出价值”,产业“大考”已然开始
- H2 知情人士:AI投入猛增,字节跳动2025年净利润下滑超70%
- H2 主流网页部署平台 Vercel 遭黑客入侵,第三方 AI 工具成攻击突破口
- H2 雷军被人堵在车里维权引热议 小米高管回应后:网友感慨小米被黑的太狠了
- H2 海豹06DM-i旅行版
- H2 全新Emira Turbo SE
- H2 北京越野发布BJ40增程“珠峰山境”官方改装套件
- H2 大众汽车集团媒体之夜:四款车型全球首秀
- H2 17.98万元起售 2026款乐道L90正式上市
- H2 中国长安汽车发布“1445”全球战略 锚定世界一流汽车集团目标
- H2 奇瑞商用车DELIVAN欧洲首发 共赴零碳未来
- H2 陶希哲出任上汽通用执行副总经理 康泽将圆满结束全球职业生涯
- H2 北汽创新产品品鉴会 差异化产品破局市场
- H2 法治护航 共沐书香
- H2 人工智能时代基础教育需重点强化三大核心
- H2 第五届全民阅读大会在南昌举办
- H2 中国美术学院考级考点落户拉萨
- H2 温州理工学院教育改革破题记
- H2 “讲述我的育人故事”现场展示活动举行
- H2 重磅发布:2026软科中国大学排名
- H2 内衣
- H2 橘灿重塑面霜璀璨焕新
- H2 RNW如薇重磅发布学术汇刊,重构国人毛孔科学护理体系
- H2 Soft Fit穿搭——以温柔一击回应春日的美好
- H2 这身衣服能让你出片的下一秒就无缝衔接出现在健身房
- H2 真正的顶流cp,时隔三十多年依旧在发力
- H2 谁又被年代剧里的复古美学再一次狠狠击中了?
- H2 联名、合作、官配、平替——时尚品牌有自己的恋综
- H2 全球首款AI角色舱Dipal D1亮相英特尔发布会
- H2 官宣:karrigan加盟Falcons
- H2 HyperX游戏家族全新亮相,发布2026新品,深化多场景游戏生态布局
- H2 HARRISONWORLD 广州BGM参展回顾:多款游戏现场人气持续升温
- H2 CS2 4月21日更新:animgraph_2更新实装至正式客户端
- H2 加载失败,请重试!
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
CForm AccessibilityAction3 of 3 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| input | text | (输入标题或者自定义昵称) | placeholder only |
| input | text | (none) | none |
| textarea | textarea | (none) | none |
Form controls need a <label>, aria-label, or aria-labelledby for screen readers.
<input type="text">; <textarea>
Form controls without labels — assistive tech announces 'edit text' with no context; users can't complete forms.
Source: WCAG 2.1 SC 3.3.2
Placeholder text disappears on focus and is not a reliable label.
<input type="text">
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
BFavicon & Branding4 icon(s) detectedREVIEW
BColor Contrast (Screenshot)20 text elements analyzed, 0 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 新浪移动_手机… | 4.46:1 | 3.0:1 | #000000 | #E90000 | Pass |
| h2 习近平会见老… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 中莫传统友谊… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 透视长三角港… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 消息人士称伊… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 美伊极限拉扯 … | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 【新浪脉络】… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 直播:华为Pura… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 谷爱凌:我越… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 双色球开6注729… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 浙江少年“神… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 截至3月底全国5… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 三国突然取消… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 巴菲特谈库克… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 联赛5连败!切… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 名记:杜兰特… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 Shams:杜兰特热… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 老鹰VS尼克斯裁… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 备战G2!火箭官… | 21.00:1 | 3.0:1 | #000000 | #FFFFFF | Pass |
| h2 这次能继续吗… | 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.