SWE / SRE / Frontend · System Design / 基础

TikTok HTML 语义化:结构、交互与可访问名称

用正确元素表达文档与操作,解释语义对辅助技术、键盘和维护的作用。

题目重点:用正确元素表达文档与操作,解释语义对辅助技术、键盘和维护的作用。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 讨论HTML基础,不把语义标签当SEO排名保证,也不随意给所有元素加ARIA。

解题路线

  1. 标题h1..h6按内容层级组织,main/nav/article等表达页面区域;section通常需要可识别主题,不仅为CSS造容器。
  2. 执行动作使用button,导航使用有href的a。原生元素带键盘与交互语义,div加click后需要补更多行为。
  3. 表单用label关联输入,图片alt按信息用途,装饰图可空alt;名称不是随便重复旁边文字。
  4. 语义仍需实际测试:Tab顺序、焦点、屏幕阅读器名称和结构。正确标签不自动保证颜色对比、布局与完整可访问性。

手动走一遍

“提交”用button而不是a无href;“查看详情页”用a href。页面多个区域可有合适标题,视觉字号大小不决定heading等级。

规模与取舍

语义选择没有统一算法成本;减少手写交互补丁能降低维护风险,SEO效果还取决于内容与可抓取性。

易错点与追问

容易失分的边界

  • 所有div换section就叫语义化。
  • ARIA替代原生元素全部行为。
  • h1只是最大字号。

继续深挖

  • button type默认行为为什么值得注意?
  • 可访问名称与可见文本如何一致?
✓已复制微信号!