Accessibility
· 24 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.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
BLandmark Structure49 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
BForm Accessibility6 of 7 controls have issuesREVIEW
| Control | Type | Label | Method |
|---|---|---|---|
| #site_search_input | search | 搜索帖子、账号或标签 | for/id |
| #login-email | text | (请输入账号) | placeholder only |
| #login-password | password | (请输入密码) | placeholder only |
| #register-email | text | (4-16位字母/数字) | placeholder only |
| #register-password | password | (至少6位) | placeholder only |
| #register-confirm | password | (再次输入密码) | placeholder only |
| input | text | (请输入昵称) | placeholder only |
Placeholder text disappears on focus and is not a reliable label.
<input type="text" id="login-email">; <input type="password" id="login-password">; <input type="text" id="register-email">; <input type="password" id="register-password">; <input type="password" id="register-confirm">; <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
CLink & Button QualityAction11 issue(s) across 1311 links and 201 buttonsREVIEW
| Element | Text | Issue | Suggested Fix |
|---|---|---|---|
| https://theporndude.com/zh | ThePornDudeThePornDude | new tab | Add '(opens in new tab)' to text |
| https://theporndude.com/zh | ThePornDudeThePornDude | new tab | Add '(opens in new tab)' to text |
| https://t.me/shex9191 | Telegram | new tab | Add '(opens in new tab)' to text |
| https://x.com/91ShexCom | X | new tab | Add '(opens in new tab)' to text |
| https://91shex.github.io | GitHub | new tab | Add '(opens in new tab)' to text |
| https://t.me/shex9191 | Telegram 社群 | new tab | Add '(opens in new tab)' to text |
| https://x.com/91ShexCom | 官方 X | new tab | Add '(opens in new tab)' to text |
| https://91shex.github.io | GitHub | new tab | Add '(opens in new tab)' to text |
| https://m4x156.di62v75m.cc | m4x156.di62v75m.cc | new tab | Add '(opens in new tab)' to text |
| https://djs1wj30x.cc | djs1wj30x.cc | new tab | Add '(opens in new tab)' to text |
| <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 |
| <button> | (empty) | empty | Add button text or aria-label |
Add '(opens in new tab)' to link text or aria-label.
https://theporndude.com/zh; https://theporndude.com/zh; https://t.me/shex9191; https://x.com/91ShexCom; https://91shex.github.io; https://t.me/shex9191; https://x.com/91ShexCom; https://91shex.github.io; https://m4x156.di62v75m.cc; https://djs1wj30x.cc
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.btn-menu-collapse (#81 on page); button.btn-search (#89 on page); button.dx-drawer-close (#99 on page); button.topic-panel-close (#275 on page); button.dx-login-close (#3358 on page); button.dx-input-eye (#3382 on page); button.dx-input-eye (#3412 on page); button.dx-input-eye (#3422 on page); button.dx-login-close (#3435 on page); button.dx-login-close (#3450 on page) (+1 more)
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
BMobile Keyboard & Autofill1/4 eligible field(s) missing autocomplete or inputmodeREVIEW
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 91成人社区最新… | 1.16:1 | 3.0:1 | #000000 | #171516 | Fail |
| h2 推荐 | 1.16:1 | 3.0:1 | #000000 | #171516 | Fail |
| h2 关注 | 1.16:1 | 3.0:1 | #000000 | #171516 | Fail |
| h2 最新 | 1.16:1 | 3.0:1 | #000000 | #171516 | Fail |
| title 91社 - 网红黑料… | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 91社 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| a 登录 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 首页 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 首页 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 精选专题 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 精选专题 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 创作者 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 创作者 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 排行榜 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 排行榜 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 博客 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 博客 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 消息 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 消息 | 1.16:1 | 4.5:1 | #000000 | #171516 | Fail |
| span 我的 | 1.16:1 | 4.5:1 | #000000 | #171516 | 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.
A+Heading Hierarchy44 headingsPASS
- H1 91成人社区最新黑料与成人视频资源
- H2 推荐
- H3 FapHouse台湾极品网黄 qubegirl化身饥渴小情妇跪舔多体位打桩到失神
- H3 少妇白洁_第十二集_91社最新原创AI成人短剧
- H3 Sweetiefox化身村姑户外挑逗扣穴胡萝卜爆菊彻底放纵
- H3 妹妹的日常_第十集_91社最新原创AI成人短剧
- H3 长生录 从侄女上门求丹开始长生_第十集_91社最新原创AI成人短剧
- H3 穿过薄雾的早晨_第八集_91社最新原创AI成人短剧
- H3 台湾美腿女神Alleys贝拉变身兔女郎机器人 浓毛狂野任宅男开发享受浓稠暴力中出
- H3 ST站高颜值主播bigassgirl-00黑丝全裸开票直播水晶棒M腿挑逗白浆喷涌
- H3 胡椒籽推特极品开裆黑丝骑乘弹力抽插白浆不断溢出
- H3 霉霉学姐每日大赛原创黑丝油光后入视角喷射高潮
- H3 日本FC2素人无码 精致长发美女被各种姿势干到高潮发软
- H3 渡己_第九集 91社最新原创AI女优短剧激情上演
- H3 推特极品福利姬梦中梦 和服半透T恤白虎娇躯骑乘娇喘到爆
- H3 妹妹的日常_第九集_91社最新原创AI成人短剧
- H3 少妇白洁_第十一集_91社最新原创AI成人短剧
- H3 长生录 从侄女上门求丹开始长生_第九集_91社最新原创AI成人短剧
- H3 妹妹的日常_第八集_91社最新原创AI成人短剧
- H3 长生录 从侄女上门求丹开始长生_第八集_91社最新原创AI成人短剧
- H3 渡己_第八集_91社最新原创AI成人短剧
- H3 少妇白洁_第十集_91社最新原创AI成人短剧
- H2 关注
- H2 最新
- H3 国产极品主播迷人奈制服黑丝足交假屌骑乘弹力插
- H3 Puting_q黑丝直播玩道具高潮迭起血脉喷张
- H3 司宁青穿豹纹皮靴重度调教直播羞辱长靴插马眼
- H3 JVID高颜值Caroline卡洛琳穿越到家 大尺度翘臀黑森林极致诱惑
- H3 JVID极品美腿模特啾啾最新作品 化身淫欲小秘书翘臀若隐若现欲望层层剥开
- H3 JVID混血女神Mia酒店房务员激情加班 热情回应客人所有要求
- H3 JVID雅捷职场女秘书被男同事无套内射满小腹
- H3 JVID高颜值甜美女神肉包Mini化身白色小猫夜夜撒娇引人欲罢不能
- H3 JVID极品制服百合双人缠绵 高颜值姐妹花互舔互摸
- H3 JVID肉包Mini白色猫耳尾巴诱惑今晚我是你的小猫
- H3 极品网黄爹咪 JVID露脸写真 被绑手铐戴眼罩后摘罩露出骚脸 各种姿势大尺度展写真
- H3 极品网黄爹咪JVID露脸写真 被绑手铐戴眼罩后摘罩露骚脸多姿势大尺度
- H3 JVID高清禁忌师生恋 人气模特妍妍与闺蜜女教师湿吻抚摸玩弄扣穴
- H3 极品JVID甜美女神婕咪淼淼双人三穴齐开女子宿舍超尺度挑逗舔乳
- H3 雅婕最新流出 短发御姐业务员签保单床上高潮
- H3 JVID顶级女神黎菲兒 新作流出 按摩师撩拨高潮不断被彻底征服
- H3 欧美无码BANGBROS 眼镜妹深喉黑人多姿势白虎高潮
- H3 黑人美妞清晨唤醒日男 口手并用榨取狂喷如开香槟
- H3 推特情侣小Q小K女友初次激战黑人巨根深插高强度打桩
- H3 推特肥臀测评博主12Baegirl 误食剧情第一视角黑人巨根服侍
AHeading Text Quality2 heading-text-quality issue(s) detectedPASS
A+Alt Text QualityAll 199 images OKPASS
AForm Input Types2 input(s) using type=text where a specific type would helpPASS
AForm Input Quality1 input-semantic issue(s) across 7 form control(s)PASS
A+Document LanguageLang attribute set to "zh-CN"PASS
A+Tabindex Anti-Patterns40 explicit tabindex attribute(s) checked, no anti-patternsPASS
A+Iframe AccessibilityNo iframes on this pagePASS
A+Tap Target AdequacyAll tap targets meet WCAG 2.5.5/2.5.8 sizingPASS
A+Mobile-Readable Font SizesAll 18 visible text node(s) render at >= 12 CSS pixelsPASS
A404 Error PageHTTP 404, custom pagePASS
A+PWA DepthNo PWA depth issues detectedPASS
A+Mobile UX Depth1 mobile-depth signal(s) detectedPASS
ALighthouse Accessibility AuditsScore 92/100 — 3 failing, 26 passedPASS
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 |
|---|
登录 header#app-header > div.relative > div.relative > a.mobile-not-login |
全部 div.topic-wrap > div.topic-bar > div.topic-chips > a.topic-chip |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
+关注 div.feed > article.post-card > header.flex > button.btn-follow |
加载更多 div.tab-panels > div.tab-panel > div.flex-center > a.load-more-btn |
These are opportunities to improve the legibility of your content.
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.
Visible text labels that do not match the accessible name can result in a confusing experience for screen reader users. Learn more about accessible names.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
深 article.post-card > header.flex > div.flex > a.dx-avatar |
+6
查看全部 div.tab-panel > div.feed > article.post-card > div.post-media-link |
A article.post-card > header.flex > div.flex > a.dx-avatar |
O article.post-card > header.flex > div.flex > a.dx-avatar |
+7
查看全部 div.tab-panel > div.feed > article.post-card > div.post-media-link |
A article.post-card > header.flex > div.flex > a.dx-avatar |
A article.post-card > header.flex > div.flex > a.dx-avatar |
A article.post-card > header.flex > div.flex > a.dx-avatar |
短 article.post-card > header.flex > div.flex > a.dx-avatar |
+11
查看全部 div.tab-panel > div.feed > article.post-card > div.post-media-link |
主 article.post-card > header.flex > div.flex > a.dx-avatar |
+6
查看全部 div.tab-panel > div.feed > article.post-card > div.post-media-link |
丝 article.post-card > header.flex > div.flex > a.dx-avatar |
+7
查看全部 div.tab-panel > div.feed > article.post-card > div.post-media-link |
丝 article.post-card > header.flex > div.flex > a.dx-avatar |
+9
查看全部 div.tab-panel > div.feed > article.post-card > div.post-media-link |
A article.post-card > header.flex > div.flex > a.dx-avatar |
+9
查看全部 div.tab-panel > div.feed > article.post-card > div.post-media-link |
A article.post-card > header.flex > div.flex > a.dx-avatar |
福 article.post-card > header.flex > div.flex > a.dx-avatar |
+7
查看全部 div.tab-panel > div.feed > article.post-card > div.post-media-link |
A article.post-card > header.flex > div.flex > a.dx-avatar |
A article.post-card > header.flex > div.flex > a.dx-avatar |
A article.post-card > header.flex > div.flex > a.dx-avatar |
A article.post-card > header.flex > div.flex > a.dx-avatar |
A article.post-card > header.flex > div.flex > a.dx-avatar |
A article.post-card > header.flex > div.flex > a.dx-avatar |
A article.post-card > header.flex > div.flex > a.dx-avatar |