跳转到内容

组件

组件页告诉读者什么时候用这个界面部件、怎样用好它。它的 API 在源码里,所以页面只链接过去,不重抄一遍。

部分 写什么
描述 一句话说明它做什么,例如“在当前页面触发一个操作”
何时使用 适合的场景,以及不适合时该用什么。用来跳转页面的是链接,不是按钮
结构 它由哪些具名部分组成,例如按钮的文字、图标和焦点框
变体 开发者选定的配置,例如 size 或 tone
状态 组件所处的情况,例如悬停、聚焦、按下、禁用
组合 哪些变体和状态可以同时出现,哪些不行
无障碍 它的角色、键盘操作,以及它的名称从哪里来。见无障碍
API 链接到源码文件,或者生成的清单,例如 Custom Elements Manifest
示例 可交互的演示,或者指向演示的链接
相关 它用到的组件,以及可以替代它的组件

DSDS 把这两者都叫作特征(trait),并加以区分:变体由使用组件的人选定,状态是使用过程中组件发生的变化。两者都可以是“是/否”开关,也可以是从一组值里选一个。size 是变体,取值有小、中、大;disabled 是一个是/否状态。

把不允许的组合写下来,例如一个按钮不能既禁用又处于按下状态。这样规则只写在一处,而不是留在每个开发者的脑子里。

只要 ARIA Authoring Practices Guide 里有对应的模式(对话框、标签页、菜单、组合框等),按键、角色和状态就照那个模式来,不要自己另编一套。原生 HTML 元素优先:<button> 本来就有正确的角色和键盘行为,APG 也提醒,没有 ARIA 好过错误的 ARIA。

DSDS 的组件条目(其中定义了特征、组合、源码文件和规格),以及 ARIA Authoring Practices Guide。