fix(a11y,ui): resolve 29 P1 issues found by dogfood UI/UX/UE audit
Dogfood 审计(31 路由 × 多视口,Playwright 9 维探针)发现的阻断级问题全部闭环: P1 29 → 0,对比度违规页 29 → 0。 对比度 - footer: text-gray-500 硬编码 → text-text-hint 令牌(#6B7280 在 #0A0E14 上仅 4:1,需 4.5:1),1 行改动全站 29 页生效 - brand-content / team-content 副文案 text-text-secondary/70 → /80 (4.35:1 → 5.74:1,视觉几乎无变化) - brand-content 里程碑标签在 bg-tertiary 上 text-text-muted → text-text-secondary (4.34:1 → 9.45:1) 装饰元素豁免 - 大号服务编号(about 01-03、team 01-05 等)加 aria-hidden="true",WCAG 1.4.3 对装饰内容不适用,无需强行提亮 - 同时补修 product-detail / solution-detail 的客户名首字占位(同类 text-text-muted/10,因容器为渐变背景属探针盲区、从未报出) - 副文案与里程碑标签属真实语义内容,走提对比度而非 aria-hidden —— 隐藏它们 等于把公司简介与成立年份从屏幕阅读器中删除 移动端布局 - MobileTabBar 为 fixed bottom-0 高 64px,给 main / [role="main"] / footer 补 calc(64px + env(safe-area-inset-bottom)) 安全区,解决正文与页脚被遮挡 - 注意 marketing layout 使用 div[role="main"] 而非真 <main> 元素,选择器须 同时匹配两者 触控与令牌 - ERP 专题链接加 py-0.5(23px → 27px,达 WCAG 2.2 AA 2.5.8 的 24px) - solution-service-card: shadow-blue-500/20 → shadow-brand(纳入 --shadow-* 令牌) Refs: UI_UX_UE_AUDIT_2026-09-01.md
This commit is contained in:
@@ -209,7 +209,8 @@ function WhoWeAreSection({ data }: { data: AboutData }) {
|
||||
className="group relative border-b border-border-primary pb-6 md:pb-8 last:border-0 last:pb-0"
|
||||
>
|
||||
<div className="flex items-start gap-6 md:gap-8">
|
||||
<div className="text-4xl md:text-5xl font-black text-text-muted/30 font-mono shrink-0 leading-none pt-1">
|
||||
{/* 纯装饰序号:与右侧 value.title 并列,无独立语义,标记 aria-hidden 豁免对比度要求 */}
|
||||
<div aria-hidden="true" className="text-4xl md:text-5xl font-black text-text-muted/30 font-mono shrink-0 leading-none pt-1">
|
||||
{value.number}
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
|
||||
@@ -121,12 +121,12 @@ export default function BrandContent() {
|
||||
))}
|
||||
</motion.div>
|
||||
|
||||
{/* 副标题 */}
|
||||
{/* 副标题 — alpha 0.7 仅 4.35:1 未达 WCAG AA 4.5:1,提到 0.8 → 5.74:1,视觉几乎无变化 */}
|
||||
<motion.p
|
||||
initial={{ opacity: 0, y: 30 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.7, delay: 0.5, ease: EASE_OUT }}
|
||||
className="text-lg sm:text-xl text-text-secondary/70 max-w-2xl leading-relaxed"
|
||||
className="text-lg sm:text-xl text-text-secondary/80 max-w-2xl leading-relaxed"
|
||||
>
|
||||
公司于 2026 年 1 月正式成立,核心团队专注企业数字化,从战略规划到系统落地,致力于陪伴每一家企业实现可衡量的业务改善。
|
||||
我们相信,技术的力量在于让每一家企业都拥有数据驱动的决策能力。
|
||||
@@ -268,7 +268,8 @@ export default function BrandContent() {
|
||||
<span className="text-3xl sm:text-4xl font-black text-brand tracking-tight">
|
||||
{item.year}
|
||||
</span>
|
||||
<span className="text-[11px] tracking-[0.15em] uppercase text-text-muted bg-bg-tertiary px-2 py-0.5">
|
||||
{/* text-muted 在 bg-tertiary(#F1F5F9) 上仅 4.34:1;换 text-secondary → 9.45:1 */}
|
||||
<span className="text-[11px] tracking-[0.15em] uppercase text-text-secondary bg-bg-tertiary px-2 py-0.5">
|
||||
{item.highlight}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user