首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法让屏幕阅读器同时读出标签和元素的内容?

有没有办法让屏幕阅读器同时读出标签和元素的内容?
EN

Stack Overflow用户
提问于 2019-11-20 15:33:10
回答 1查看 50关注 0票数 0

假设我有以下HTML

代码语言:javascript
复制
<div class="address">
    171 E Broadway, New York, NY 10002
</div>

地址值由应用程序动态填充。在视觉上,用户理解这是一个给定页面上下文的地址。含义:不需要在innerText中添加单词"ADDRESS“。

但是,如果用户使用的是屏幕阅读器,那么一旦元素获得焦点,它就会说出内容171 E Broadway, New......

如果我应用aria-label="address",那么屏幕阅读器将只显示address,而不会发音html元素的内容。

我尝试添加aria-labeledby

代码语言:javascript
复制
<span id="address-label" hidden>Address</span>

<div class="address" aria-labeledby="address-label">
    171 E Broadway, New York, NY 10002
</div>

但是屏幕阅读器显示的是“地址”。没有说出地址的内容。

然后我尝试了aria-describedby

代码语言:javascript
复制
<span id="address-label" hidden>Address</span>

<div class="address" aria-describedby="address-label">
    171 E Broadway, New York, NY 10002
</div>

这是可行的,但是它说出了整个地址内容,然后在末尾附加了单词" address“。

有没有一种方法可以让屏幕阅读器说出"ADDRESS: 171 E Broadway, New York, NY 10002",而不需要在页面上直观地添加单词"ADDRESS“?

EN

回答 1

Stack Overflow用户

发布于 2019-11-25 22:38:26

这是多余的,但可以提供您想要的结果。我不知道还有什么更好的解决方案。

代码语言:javascript
复制
<span id="address-label" hidden>Address: 171 E Broadway, New York, NY 10002</span>

<div class="address" aria-labeledby="address-label">
    171 E Broadway, New York, NY 10002
</div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58948963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档