fix(marketing): resolve dogfood findings on cases, products, and contact

修复首页/案例/产品/联系页 dogfood 测试发现的 7 个问题:
- 案例页行业筛选按钮失效
- 产品矩阵页计数器显示 "0+"
- ERP 产品详情页核心功能区空白占位
- 联系表单无提交反馈
- 服务卡片图标被屏幕阅读器读取
- 产品卡片链接文本重复类别标签
- 联系页装饰图标缺少 aria-hidden

添加 dogfood-regression-output 报告与截图。
This commit is contained in:
张翔
2026-07-25 08:02:38 +08:00
parent d2a4e702da
commit f6f5766bb9
18 changed files with 218 additions and 40 deletions
@@ -281,7 +281,7 @@ function ContactFormContent({ data }: { data: ContactData }) {
<h2 className="text-xl font-bold text-ink mb-8">{data.contactTitle || ''}</h2>
<div className="space-y-6" data-testid="contact-info">
<div className="flex items-start gap-4" data-testid="email-info">
<div className="w-12 h-12 border border-border-primary bg-white flex items-center justify-center shrink-0">
<div className="w-12 h-12 border border-border-primary bg-white flex items-center justify-center shrink-0" aria-hidden="true">
<Mail className="w-5 h-5 text-text-secondary" />
</div>
<div>
@@ -297,7 +297,7 @@ function ContactFormContent({ data }: { data: ContactData }) {
</div>
<div className="flex items-start gap-4" data-testid="address-info">
<div className="w-12 h-12 border border-border-primary bg-white flex items-center justify-center shrink-0">
<div className="w-12 h-12 border border-border-primary bg-white flex items-center justify-center shrink-0" aria-hidden="true">
<MapPin className="w-5 h-5 text-text-secondary" />
</div>
<div>
@@ -313,7 +313,7 @@ function ContactFormContent({ data }: { data: ContactData }) {
<div className="relative border border-border-primary bg-white p-8 overflow-hidden">
<div className="absolute top-0 left-0 bottom-0 w-0.5 bg-brand/60" />
<div className="flex items-center gap-3 mb-4">
<Clock className="w-5 h-5 text-brand" />
<Clock className="w-5 h-5 text-brand" aria-hidden="true" />
<h2 className="text-base font-bold text-ink">{data.workHoursTitle || ''}</h2>
</div>
<div className="flex justify-between" data-testid="work-hours-row">
@@ -325,7 +325,7 @@ function ContactFormContent({ data }: { data: ContactData }) {
<div className="relative border border-border-primary bg-white p-8 overflow-hidden">
<div className="absolute top-0 left-0 bottom-0 w-0.5 bg-brand/60" />
<div className="flex items-center gap-3 mb-4">
<HeadphonesIcon className="w-5 h-5 text-text-secondary" />
<HeadphonesIcon className="w-5 h-5 text-text-secondary" aria-hidden="true" />
<h2 className="text-base font-bold text-ink">{data.commitmentTitle || ''}</h2>
</div>
<div className="space-y-4">