尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
AestheticDialogs 无障碍清单:48dp 触控目标、读屏语义与 200% 字体缩放的 8 项保障
AestheticDialogs 无障碍清单48dp 触控目标、读屏语义与 200% 字体缩放的 8 项保障【免费下载链接】AestheticDialogs An Android Library built with Jetpack Compose for fluid, beautiful, custom Dialogs.项目地址: https://gitcode.com/gh_mirrors/ae/AestheticDialogsAestheticDialogs 是一个基于 Jetpack Compose 的 Android 对话框设计系统它为 7 类对话框内置了一整套无障碍保障48dp 最小触控目标、TalkBack 读屏语义、横幅实时区域播报以及 200% 字体缩放下的布局验证。对新手来说你不需要自己拼semantics修饰符——这些正确性已经被框架层焊死本文用 8 项保障逐项说明它做对了什么方便你在新项目中直接复用或对照自查。8 项无障碍保障速览#保障解决什么问题关键源码148dp 触控目标按钮、行、关闭键都够大手指不用瞄准AestheticDimens.kt2对话框 paneTitle 语义TalkBack 一进来就知道这是哪个对话框DialogFramePrimitive.kt3焦点遍历组读屏焦点不跳出对话框DialogFramePrimitive.kt4标题 heading 语义可双指点按跳转到标题DialogHeaderPrimitive.kt5横幅 live region通知出现即播报错误音优先BannerPrimitive.kt6整行可选 单选/多选角色一行只播一次点击区是全宽而不是 20dpSelectionRowPrimitive.kt7200% 字体缩放置行大字体下正文可滚、按钮行始终可达DialogScreenshotTest.kt8减少动效降级系统动画关闭时过渡变瞬时切换AestheticMotion.kt1. 48dp 最小触控目标内置在尺寸令牌里Android 无障碍指南要求可交互元素不小于 48dp。AestheticDialogs 把它做成一个公开的语义令牌minTouchTarget 48.dp而不是散落在各处的魔法数字对话框按钮高度固定 48dp、最小宽度 88dp选择列表每行defaultMinSize(minHeight 48dp)整行都是点击区关闭按钮的 × 符号只有 24dp 大但触控区在符号周围扩展到 48dp——视觉不显臃肿手却能稳稳点中。这样做的工程含义任何一处出现裸dp字面量都会在评审中被打回48dp 是一条编译期纪律。2. 读屏语义 paneTitle一进对话框就知道名字每个对话框共用同一个窗口框架 DialogFramePrimitive.kt。框架给根节点挂了两个语义paneTitle把删除相册你已离线这样的标题交给读屏器TalkBack 进入对话框时先报对话框名isTraversalGroup true焦点遍历被关在对话框内部用户不会在读到一半时溜回背景页面。因为 7 类对话框共用这一个框架语义只写一次就保证了 7 类都正确——这正是重写为分层架构组件→变体→原语→令牌的动机之一详见 docs/ARCHITECTURE.md。3. 标题 heading 语义支持跳标题导航对话框标题文字额外标注了semantics { heading() }见 DialogHeaderPrimitive.kt。启用 TalkBack 跳标题导航的用户可以直接跳到标题定位每个对话框而不必逐行扫。顺带一提标题用正文主色绘制而非状态强调色——因为在白色背景上任何能用的黄色都达不到 4.5:1 对比度。可读性优先于装饰。4. 横幅 live region通知出现即播报2.x 的 5 种边缘横幅不再是模态窗口而是普通可组合节点。整张横幅被标记为 live region见 BannerPrimitive.kt普通消息用Polite不打断当前朗读错误消息升级为Assertive映射规则在 NotificationVariants.kt立即插队播报。读屏用户不需要去找屏幕顶部的提示消息自己会读出来。5. 选择列表整行可选 正确的角色语义多选/单选列表的每一行是真正的可选项单选行用Modifier.selectable(Role.RadioButton)多选行用Modifier.toggleable(Role.Checkbox)见 SelectionRowPrimitive.kt而里面的 Checkbox/Radio 控件传onClick null。效果是双份的TalkBack 把葡萄牙语单选按钮已选中一次性完整读出而不是先读一个无名控件再读一段无关文字同时整行 48dp 高都是点击区替代了 20dp 的小圆点目标。6. 细节语义加载按钮与关闭按钮也有名字读屏用户最容易遇到哑巴控件这里补了两处加载中的确认按钮注入stateDescription 正在加载TalkBack 报删除相册按钮正在加载同时标签以透明文本保留在布局树里按钮宽度不抖动无字形的关闭 ×图形是画出来的没有文字可借名所以单独给了contentDescription见 DialogHeaderPrimitive.kt。输入对话框打开时还会自动把焦点移到输入框——读屏用户一进入就能直接打字。7. 200% 字体缩放验证大字体下按钮依然够得着项目里所有文字都用sp随系统字体缩放布局在fontScale 2.0200%下经过截图测试验证用例见 DialogScreenshotTest.kt。框架层还有两条结构保障兜底正文区域超出上限时内部滚动标题和按钮行不滚走双按钮平分左右半行、标签换行而不溢出长译文和大字体都不会把确认按钮挤出屏幕。8. 减少动效动画关掉就是切不是快一点动效令牌AestheticMotion读取系统动画比例当用户关掉动画比例为 0时所有过渡直接坍缩为零时长硬切而不是缩短动画——因为无障碍设置要的是没有动画见 AestheticMotion.kt。单测 TokenSemanticsTest.kt 会断言这一行为防止它悄悄退化成短动画。对照自查这些保障如何被守住截图测试./gradlew recordRoborazziDebug/verifyRoborazziDebug记录并校验 200% 字体等基线截图单元断言TokenSemanticsTest断言色调→图形的映射每种色调都有独立图形标记颜色从来不是唯一信号深浅两套主题下强调色对比度达 4.5:1与动效降级逻辑架构约束语义集中写在框架/原语层变体只能填槽位从结构上杜绝某个对话框忘了加语义。把这份 8 项清单放进你的评审表48dp 触控目标、paneTitle、遍历组、heading、live region、整行可选角色、200% 字体验证、减少动效降级——缺一项读屏或大字体用户就会在真实使用里撞墙。【免费下载链接】AestheticDialogs An Android Library built with Jetpack Compose for fluid, beautiful, custom Dialogs.项目地址: https://gitcode.com/gh_mirrors/ae/AestheticDialogs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

图片理解与视频分析:Ornith-1.5-9B多模态输入完整使用指南

图片理解与视频分析:Ornith-1.5-9B多模态输入完整使用指南

图片理解与视频分析:Ornith-1.5-9B多模态输入完整使用指南 【免费下载链接】Ornith-1.5-9B 项目地址: https://ai.gitcode.com/hf_mirrors/ornith-ai/Ornith-1.5-9B Ornith-1.5-9B 是 Ornith-1.5 家族中最轻量级的多模态模型,原生支持图片理解与…

📅 2026/9/8 0:22:10
2026春招AI人才竞争与大模型技术学习路径

2026春招AI人才竞争与大模型技术学习路径

1. 2026春招AI人才争夺战现状解析2026年的春季招聘季正在见证人工智能领域前所未有的激烈竞争。根据行业内部数据显示,头部科技公司的大模型相关岗位平均收到超过200份简历,而顶尖AI研究岗位的竞争比例更是高达1:300。这种白热化竞争背后是AI技术商业化落…

📅 2026/10/20 20:42:15
Draftail 性能优化指南:markov 基准测试、stateSaveInterval 与渲染调优清单

Draftail 性能优化指南:markov 基准测试、stateSaveInterval 与渲染调优清单

Draftail 性能优化指南:markov 基准测试、stateSaveInterval 与渲染调优清单 【免费下载链接】draftail 📝🍸 A configurable rich text editor built with Draft.js 项目地址: https://gitcode.com/gh_mirrors/dr/draftail Draftail …

📅 2026/10/23 6:36:48
MORE NEWS

更多资讯

📰

FreeOS便携式本地AI方案:少一道登录墙,打开就能聊

1. 为什么“少一道登录墙”这件事值得单独拿出来说1.1 从一次真实的折腾说起前段时间帮一个朋友在他的旧笔记本上装本地大模型。机器是五年前的轻薄本,16G 内存,没有独立显卡,系统盘还剩不到 40G。他的需求特别朴素:写周报的时候有…

📰

开源AI原生项目管理平台Plane自托管部署与迁移实践

我见过不少十几二十人的产品团队,项目管理工具年年续费,实际用到的功能不到三成,剩下七成是配置面板里永远点不完的开关和没人搞得懂的工作流规则。这类团队最后往往走向两个极端:退回在线表格自己拼一套土办法,或者买…

📰

ChatGPT一直转圈?发送失败与页面卡住的分层排查指南

半夜十一点,你把一段精心整理好的需求描述粘进输入框,回车,光标闪了两下,然后那个加载动画就一直转。你换了 Wi-Fi、重启了浏览器、把问题缩短到三个字,还是转。第二天早上再试,好了。这种事我见过太多次&a…

📰

3D Gaussian Splatting分块渲染:从原理到工程优化实践

1. 从“能看”到“能跑”:为什么分块渲染是3D Gaussian Splatting落地的关键一步如果你已经跑通过3D Gaussian Splatting的训练流程,手里攥着几十万个高斯球,满心欢喜地打开可视化工具,结果帧率掉到个位数——恭喜你,你…

📰

Windows平台OpenClaw自动化测试工具部署指南

1. 项目概述OpenClaw作为一款开源的自动化测试工具,在Windows平台上的部署往往会遇到各种"坑"。作为一个在测试领域摸爬滚打多年的老手,我经历过无数次OpenClaw部署失败的痛苦,也总结出了一套行之有效的部署方案。本文将分享我在Wi…

📰

揭秘电商智能系统:从选品到私域的全链路优化

1. 项目背景与核心价值去年双十一大促期间,某头部MCN机构首次采用驭影系统后,单场直播GMV突破2.3亿,场观转化率提升47%,退货率下降12个百分点。这套系统究竟藏着什么黑科技?作为深度参与过三个版本迭代的实操者&#x…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬