如何为Android汉堡菜单和溢出菜单图标设置屏幕阅读器可识别的无障碍标签
该需求完全支持XML静态配置和代码动态设置两种实现方式,具体操作如下:
汉堡菜单(导航图标)标签设置
XML配置方式
直接在Toolbar的XML标签中添加android:navigationContentDescription属性,属性值可以引用字符串资源或直接填写描述文本:
<androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" <!-- 原有属性保持不变 --> android:navigationContentDescription="@string/desc_open_side_menu" > <!-- 内部原有子View保持不变 --> </androidx.appcompat.widget.Toolbar>
代码动态设置方式
在页面逻辑中拿到Toolbar实例后调用对应方法即可,支持随时修改描述内容:
// Kotlin示例 // 引用字符串资源 toolbar.setNavigationContentDescription(R.string.desc_open_side_menu) // 直接传入字符串 toolbar.navigationContentDescription = "打开侧边菜单"
// Java示例 toolbar.setNavigationContentDescription(R.string.desc_open_side_menu); toolbar.setNavigationContentDescription("打开侧边菜单");
溢出菜单图标标签设置
XML配置方式
在Toolbar的XML标签中添加app:overflowContentDescription属性即可,该属性由AppCompat库提供,可兼容低版本Android系统:
<androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" <!-- 原有属性保持不变 --> app:overflowContentDescription="@string/desc_more_options" > <!-- 内部原有子View保持不变 --> </androidx.appcompat.widget.Toolbar>
代码动态设置方式
调用Toolbar提供的溢出菜单描述设置方法即可:
// Kotlin示例 toolbar.setOverflowContentDescription(R.string.desc_more_options) toolbar.overflowContentDescription = "更多选项"
// Java示例 toolbar.setOverflowContentDescription(R.string.desc_more_options); toolbar.setOverflowContentDescription("更多选项");
内容的提问来源于stack exchange,提问作者Hector
相关产品推荐
相关产品推荐

