E1.16.4visited is a link state设计研究

访问过的状态只属于链接,按钮没有已访问的概念

别名: 已访问链接 · :visited · visited link

概念解释

已访问(visited)标记的是「这个地址我去过」,它跟在资源标识后面,所以只属于链接。按钮发出的是当前文档里的一次动作,没有「去过」可记:不能把付款键染成紫色表示「付过了」,那是订单状态,不是浏览历史。给按钮做已访问外观,是在借用一条不属于动作的历史通道;不给链接做已访问,则是丢掉「哪些我看过」的地图。

机制

浏览历史是地址的集合。浏览器用历史给链接换一种颜色,让人在列表、搜索结果、目录里跳过已经打开过的项。按钮不进入这段历史:同一枚「删除」被点过,历史不会、也不该记住「这个删除去过」。若产品把按钮做成链接外观并显示已访问,用户会以为那是可再去的地方。若导航做成按钮,历史无法着色,目录上的已读线索全无。现代浏览器对 :visited 的样式做了隐私限制,能用的差别很小(通常只剩颜色),但它仍只作用于真链接。用本地存储给按钮模拟「点过」会和真正的已访问抢同一套紫色语义,读过的文档和执行过的动作被涂成一种颜色。

怎么研究

给一份目录:真链接带已访问、按钮冒充链接并在点后变色、按钮跳转但不变色。让人「打开还没看过的三篇」。

自变量:是否真链接、是否显示已访问、隐私限制下颜色差是否可辨。 因变量:重复打开已读项的次数、漏掉未读项、是否把变色按钮当成可再访问的文档。

实验室清空历史后只点一两次,已访问的价值不明显。要用一份已经部分访问过的长目录。

边界

已读/未读是应用自己的状态(邮件、通知),可以标在行上,不必也不应做成链接的 visited 色。付过款、已报名是业务状态,用标签或禁用,不用紫色。隐私模式下没有稳定历史,已访问会不可靠,不能当唯一已读线索。按钮的加载或成功态是这一次动作的回执,生命周期到这次结束为止,不要留成跨会话的「已访问」。

怎么落地

  • 只有带真实 href 的导航使用已访问样式;动作按钮不要借用紫/灰来表示「点过」。
  • 目录、搜索结果、章节列表用真链接,以便历史能着色。
  • 业务上的已完成用明确标签(已付款),不要用 visited 色冒充。
  • 验证:打开若干项后回到列表。真链接应能看出去过;若一排按钮有的变色有的不变,或该变色的导航完全无差别,已访问就被用错对象了。

延伸

  • 同组E1.16.1 链接以回车激活,按钮同时响应回车与空格 · E1.16.2 屏幕阅读器会分别播报链接与按钮的角色而非仅读文案 · E1.16.3 右键菜单中的新标签页打开选项只对链接有意义
  • 相邻E1.08 链接与按钮 · E1.02 按钮的状态 · G3 搜索与查找
  • 站内检索visited link · :visited · browsing history

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E1.16.4