职责与结构
头像表示人员或账户身份,适用于负责人、成员列表和评论。完整履历属于员工信息卡,组织结构属于树。在线状态与在职状态分别表达。
圆形图像或姓名首字占位 + 可选在线状态。照片裁切使用 object-fit: cover,头像尺寸固定,姓名与角色在旁边流式排版。
变体与 Tokens
| 项目 | 规范 |
|---|---|
| 尺寸 | 24 / 32 px 用于紧凑行,40 px 为默认,64 / 96 px 用于身份摘要;不任意拉伸。 |
| 照片与回退 | 同一 employeeAvatarMarkup 输出:照片、姓名首字或标准 user 图标;加载失败隐藏图片并露出占位。 |
| 在线状态 | online / busy / offline;同时有可访问文字与状态形状。未提供状态时不显示状态点。 |
| 带姓名/头像组 | 姓名清晰可见;头像组保持名单顺序,提供每个人的完整可访问名称;超出容量由实际数据计算 +N。 |
复用 employee-avatar 尺寸档位、--radius-full、--color-primary-light、--color-primary;状态引用 --color-success / --color-error / --color-text-tertiary。
交互与状态示例
本地肖像为虚构人物;可演示照片失败回退。
交互与无障碍
头像本身不进入 Tab 顺序。需要打开资料时,将头像置于有名称的原生链接或按钮中;头像组不套用菜单角色。图片无独立 alt,外层 role="img" 与 aria-label 描述身份及状态。邻近已有完整姓名且无额外信息时可 aria-hidden,避免重复朗读。窄屏头像不缩小,长姓名换行。
接入约定
| 项目 | 规范 |
|---|---|
| employeeAvatarMarkup(name,size,presence,photo,fallback) | 尺寸限制为 24 / 32 / 40 / 64 / 96;presence 为空或 online / busy / offline,fallback 为 initial 或 icon。 |
| 照片接入 | 现有函数 photo=true 使用本地虚构人物肖像;实际产品由数据提供受信图片地址,不能将演示肖像当作真实成员照片。 |
| 图片 error / 身份名称 | 共享捕获监听隐藏失败图片,保留首字。name 在输出前转义;空姓名提供“未命名成员”。 |
查看最小使用示例
employeeAvatarMarkup('林知',40,'online',true,'initial')
// 无照片:
employeeAvatarMarkup('周宁',32,'',false,'initial')维护位置:scripts/family-specimens.mjs;示例行为:scripts/family-specimens.js。组合应用见本页末尾引用。