如果没有对网站有任何了解(如何标记其他表单字段?)或受众(他们的技能水平或技术概况是什么?),我会用几个参数来解决这些问题:
> ARIA规则(first rule可能适用于此处)
>渐进增强
话虽这么说,我经常编写一个没有ARIA的页面,没有CSS(因为它可能被阻塞,分块等),并确保它是可访问的.
这意味着我编写了< label>.然后我在视觉上隐藏它.如果CSS坏了,一切都还好.如果用户的屏幕阅读器不支持ARIA,一切都还不错.顺便说一句,如果您认为您的用户的所有屏幕阅读器都支持ARIA,我鼓励您对用户进行技术评估(在没有任何真实用户的情况下,本地盲人协会是一个良好的开端).许多人仍然运行旧版本的浏览器和SR.
对于有视力的用户,我确保依靠上下文线索,例如按钮中的清晰搜索图标(或单词)(作为Unor引用).或者可能是具有适当对比度的占位符(尽管您可以使用< label>作为视觉占位符,并使用一些CSS技巧将其隐藏在焦点上).
如果您的提交按钮使用SVG,那么考虑到对SVG替代文本方法的不一致支持,我会将ARIA折叠成.
FWIW,我也不是title属性的粉丝,部分是因为可访问的名称计算不一致,部分是因为我认为它看起来很简单.
那么,回答你的问题:
My question is are these approaches equivalent?
不,但他们之间的距离在缩小.
Or is one approach better than the other one?
这取决于我们没有的背景.