Accessibility
· 12 checks — Landmarks, headings, alt text, forms, and link quality rolled into one auditable list.DLandmark StructureActionNo landmarksFIX
No landmarks detected
Screen reader users have no way to navigate by region.
Screen reader users cannot quickly navigate to the primary content. Wrap your main content in <main>.
Without a <main> landmark, screen-reader users can't skip past the navigation to the page content — every page starts with re-reading the menu.
Learn more ▾ ▴
The <main> element marks the page's primary content area. Assistive tech offers a 'jump to main' shortcut — but only if <main> exists. Without it, every page navigation forces re-reading the header. Wrap your primary content in a single <main>.
Source: WAI-ARIA / WCAG 2.4.1
Add a skip link as the first focusable element so keyboard users can bypass repeated navigation.
Without a skip-nav link, keyboard users tab through every nav item before reaching content — every page, every visit.
Learn more ▾ ▴
WCAG 2.4.1 (Bypass Blocks) requires a mechanism to skip past repeated content. The standard implementation is a 'Skip to main content' link that's the first focusable element, visually hidden until focused. Three lines of HTML + four of CSS.
Source: WCAG 2.1 SC 2.4.1
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.
FFavicon & BrandingAction2 icon(s) detectedFIX
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 68/100 — 5 failing, 12 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 |
|---|
首页 ul.nav-list > li.main-nav-list > div.phone-show-menu > span |
登录 ul.right-side-nav > li.nav-item > div.login-button-wrap > button.login-button |
综合 div.nav-list > a.nav-item > div.category-popover-box > span |
最新 nav.list-nav > ul.nav-list > li.nav-item > a |
程序员鱼皮 li.item > div.user-message > a.jj-link > div.popover-box |
146k div.main-row > ul.action-list > li.item > span |
529 div.main-row > ul.action-list > li.item > span |
AI袋鼠帝 li.item > div.user-message > a.jj-link > div.popover-box |
74k div.main-row > ul.action-list > li.item > span |
275 div.main-row > ul.action-list > li.item > span |
提前退休的java猿 li.item > div.user-message > a.jj-link > div.popover-box |
13k div.main-row > ul.action-list > li.item > span |
49 div.main-row > ul.action-list > li.item > span |
苍何 li.item > div.user-message > a.jj-link > div.popover-box |
4.9k div.main-row > ul.action-list > li.item > span |
55 div.main-row > ul.action-list > li.item > span |
小兵张健 li.item > div.user-message > a.jj-link > div.popover-box |
44k div.main-row > ul.action-list > li.item > span |
326 div.main-row > ul.action-list > li.item > span |
大家好,我是程序员鱼皮。 最近 OpenClaw(由 ClawdBot 改名)是真的火,它是一个能操作电脑干活的 AI 数字员工。能帮你读写文件、编写程序、执… div.main-box > div.abstract > a.jj-link > div |
程序员鱼皮 li.item > div.user-message > a.jj-link > div.popover-box |
22k div.main-row > ul.action-list > li.item > span |
154 div.main-row > ul.action-list > li.item > span |
AI袋鼠帝 li.item > div.user-message > a.jj-link > div.popover-box |
43k div.main-row > ul.action-list > li.item > span |
167 div.main-row > ul.action-list > li.item > span |
智见君 li.item > div.user-message > a.jj-link > div.popover-box |
16k div.main-row > ul.action-list > li.item > span |
53 div.main-row > ul.action-list > li.item > span |
WebInfra li.item > div.user-message > a.jj-link > div.popover-box |
299 div.main-row > ul.action-list > li.item > span |
14 div.main-row > ul.action-list > li.item > span |
今天不谈宏大叙事,也不贩卖焦虑。只晒真实的账单和工作流,看看 AI 到底是为了提效,还是让我们更累? div.main-box > div.abstract > a.jj-link > div |
此方的手帐 li.item > div.user-message > a.jj-link > div.popover-box |
6.4k div.main-row > ul.action-list > li.item > span |
39 div.main-row > ul.action-list > li.item > span |
最近例行逛职场社区的时候,看到一个很有意思的讨论帖。 意思大概是这样的: 同事私下偷偷给帖主介绍了单私活,说报酬有一万全部给他,结果后来不知什么原因或者机缘巧… div.main-box > div.abstract > a.jj-link > div |
CodeSheep li.item > div.user-message > a.jj-link > div.popover-box |
6.3k div.main-row > ul.action-list > li.item > span |
18 div.main-row > ul.action-list > li.item > span |
蝎子莱莱爱打怪 li.item > div.user-message > a.jj-link > div.popover-box |
42k div.main-row > ul.action-list > li.item > span |
492 div.main-row > ul.action-list > li.item > span |
在日常开发或服务器运维中,你可能遇到过这些问题: SSH 登录服务器跑任务,一断网程序就停止 一个终端需要同时运行多个任务 想一边看日志一边调试程序 长时间运… div.main-box > div.abstract > a.jj-link > div |
舒一笑不秃头 li.item > div.user-message > a.jj-link > div.popover-box |
1.0k div.main-row > ul.action-list > li.item > span |
前端之虎陈随易 li.item > div.user-message > a.jj-link > div.popover-box |
2.6k div.main-row > ul.action-list > li.item > span |
19 div.main-row > ul.action-list > li.item > span |
qwfy li.item > div.user-message > a.jj-link > div.popover-box |
2.3k div.main-row > ul.action-list > li.item > span |
10 div.main-row > ul.action-list > li.item > span |
周末,一个半年前从我们组离职去当 独立开发者 的小伙子,突然约我出来喝了顿大酒。 半年前他提离职的时候,眼里是有光的。当时他手里拿着一个用 Next.js +… div.main-box > div.abstract > a.jj-link > div |
ErpanOmer li.item > div.user-message > a.jj-link > div.popover-box |
7.2k div.main-row > ul.action-list > li.item > span |
125 div.main-row > ul.action-list > li.item > span |
小兵张健 li.item > div.user-message > a.jj-link > div.popover-box |
9.8k div.main-row > ul.action-list > li.item > span |
40 div.main-row > ul.action-list > li.item > span |
前言 最近花了点时间用AI做了一个48秒的真人精品漫剧,只能说在AI时代各行各业都被冲击的体无完肤... 制作方法 工具和平台 图片生成用到的模型是libli… div.main-box > div.abstract > a.jj-link > div |
华洛 li.item > div.user-message > a.jj-link > div.popover-box |
1.7k div.main-row > ul.action-list > li.item > span |
23 div.main-row > ul.action-list > li.item > span |
洋洋洒洒内容比较多,但其实核心思想比较简单,可能就是发点牢骚,分享经历,感叹时艰,美好祝愿。希望诸君皆好。 div.main-box > div.abstract > a.jj-link > div |
小流苏生 li.item > div.user-message > a.jj-link > div.popover-box |
649 div.main-row > ul.action-list > li.item > span |
面试官是一个看着很资深的技术总监。他喝了口水,突然抛出了一个非常尖锐的问题: “你平时用 AI 写代码吗?现在 AI 敲代码的速度比你快 100 倍,错误率还… div.main-box > div.abstract > a.jj-link > div |
雨夜寻晴天 li.item > div.user-message > a.jj-link > div.popover-box |
9.3k div.main-row > ul.action-list > li.item > span |
98 div.main-row > ul.action-list > li.item > span |
APP内打开 div#juejin > div.container > div.view-container > div.open-button |
These are opportunities to improve the legibility of your content.
Names and labels
Labels ensure that form controls are announced properly by assistive technologies, like screen readers. Learn more about form element labels.
Performance issues directly impact user engagement and conversion rates.
| Failing Elements |
|---|
ul.search-add-ul > li.nav-item > form.search-form > input.search-input ul.search-add-ul > li.nav-item > form.search-form > input.search-input |
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.
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 |
|---|
首页
登录 header.main-header > div.container > nav.main-nav > ul.nav-list |
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 |
|---|
全面封禁 Cursor!又一家大厂出手了
最近,有网友爆料称:快手的研发线发布通知,收紧了对第三方编程软件的使用权限。 不少同学发现,只要在自己办公电脑上点开… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
豆包也开始抢程序员饭碗了,一个月只要9块9。。
Doubao-Seed-Code编程能力确实没有达到全球顶尖水平。 但它是国内首个支持视觉理解的编程模型,也是… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
国企三年我现在怎么样了
23年年初来到现在公司,已经三年了。没错公司的薪资稳定得离谱。从来没涨过,你说我能力不行表现不好嘛,我也拿过优秀员工。现在明显感觉到3… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
耗时 8 天,我用 Claude Code 开发了 AI 漫剧 APP,并开源了。
这是苍何的第 468 篇原创! 大家好,我是热爱编程的苍何。 去年底的时候… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
目前最省最强用 Claude ops 4.5 + Gemini 3 Pro 的方案,30 块钱一年
核心思路: 利用机制:Google AI Premium … div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
全网最简单的 OpenClaw 部署教程,5 分钟拥有你的 AI 员工
大家好,我是程序员鱼皮。 最近 OpenClaw(由 ClawdBot 改名)是真的火… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
阿里出手了!终于不怕OpenClaw烧token啦,直接算力自由~
阿里云推出全新CodingPlan服务,整合Qwen-3.5、Kimi-K2.5和GLM-… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
重磅福利:Cursor 向学生免费开放一年!
最近,Cursor 官方宣布了一个好消息。Cursor 现在对学生免费开放一年。只要你是学生,就可以免费使用 C… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
Rspack 2.0 正式发布!
我们很高兴地宣布 Rspack 2.0 已正式发布!Rspack 2.0 在保持与 webpack 生态兼容的同时,引入了更… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
拒绝 AI 焦虑!一个普通程序员的真实 AI 工作流(附成本账单)
今天不谈宏大叙事,也不贩卖焦虑。只晒真实的账单和工作流,看看 AI 到底是为了提效,还是让… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
同事偷偷给我介绍私活,说1万报酬全给我,结果甲方私下告诉我说,同事在当中白拿了2万,我觉得被耍了,媳妇却让我要知足,说我一点不亏
最近例行逛职场社区的时候,看… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
别再裸用 Claude Code 了!32 个亲测Skills + 8 个 MCP,开发效率直接拉满!
别再裸用 Claude Code 了!32 个亲测技能… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
在日常开发或服务器运维中,你可能遇到过这些问题: SSH 登录服务器跑任务,一断网程序就停止 一个终… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
农村程序员聊五险一金
最近在网上发的农村生活视频,引起了不少朋友的兴趣,所以开个文章+视频系列,分享农村的一些方方面面。 这篇文章,分享我对于五险一金这个话题… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
瑞幸 UI 上 pub.dev 了 —— 22 个 Flutter 组件,与微信小程序版双端对齐
瑞幸 UI 上 pub.dev 了 —— 22 个 Flut… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
为什么我不建议普通前端盲目卷全栈?
周末,一个半年前从我们组离职去当 独立开发者 的小伙子,突然约我出来喝了顿大酒。 半年前他提离职的时候,眼里是有光的。当时… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
为什么有的人偏爱 Mac
为什么有的人偏爱 Mac 我之前大概用了十几年的 Windows,最近入职了一家新公司,公司强制给我发了 M4 版顶配的 Mac,一… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
我用AI做了一个48秒的真人精品漫剧,不难也不贵
前言 最近花了点时间用AI做了一个48秒的真人精品漫剧,只能说在AI时代各行各业都被冲击的体无完肤... 制… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
工作十年了,慢慢学习敬畏死亡
洋洋洒洒内容比较多,但其实核心思想比较简单,可能就是发点牢骚,分享经历,感叹时艰,美好祝愿。希望诸君皆好。
小流苏生
649
8 div.entry-list-container > div.entry-list-wrap > div.entry-list > li.item |
面试官问我:“AI 写代码比你快 100 倍,你的价值在哪?”
面试官是一个看着很资深的技术总监。他喝了口水,突然抛出了一个非常尖锐的问题: “你平时用 AI… div.entry-list-container > div.entry-list-wrap > div.entry-list > li.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.
BHeading HierarchyNo headingsREVIEW
No headings found
Headings create the document outline for screen reader navigation.
Headings (H1-H6) create the document outline for screen reader navigation.
A page with zero headings is unnavigable by assistive tech and reads as one undifferentiated wall of text.
Learn more ▾ ▴
Screen reader users navigate by jumping between H1-H6 elements. A page with no headings has no skip targets — users have to read every word linearly. Adding a heading hierarchy (one H1, then H2 sections, optional H3 subsections) makes the page skimmable for both AT and human readers.
Source: WCAG 1.3.1 / W3C WAI