0

我正在尝试为<select>Android 屏幕阅读器读取的标签定义标题,主要称为“对讲”。在我的测试设备(Galaxy S8+)上,它被称为“语音助手”。

有趣的是,以下 HTML 适用于 NVDA (PC) 和 VoiceOver (iOS),但我不知道为什么它不适用于 Android。

这是作为 HTML 页面的最小示例:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>Test</title>
    <style>
        form{
            background: red;
            margin: 5px 0;
        }
        label,
        select{
            display: block;
            margin: 10px 0;
        }
    </style>
</head>
<body>
<a href="/test">Test link</a>
<form action="/en" method="post" accept-charset="UTF-8">
    <label name="edit-destination-1-label" id="edit-destination-1-label" for="edit-destination-1">Choose language</label>
    <select id="edit-destination-1" name="edit-destination-1" aria-labelledby="edit-destination-1-label">
        <option value="/de">German</option>
        <option value="/fr">French</option>
        <option value="/en" selected="selected">English</option>
    </select>
</form>
<a href="/test">Test link</a>
</body>
</html>

如您所见,它只是和的参考for以及.idaria-labelledby

有谁知道这里的解决方案?我只想让安卓屏幕阅读器说“选择语言”,当你激活它时,它应该跳到选择菜单。

有关工作示例参考,请参阅post.ch 页面的“计算价格”部分。当您使用 Android 导航到它时,它会在<select>.

编辑我为临时解决问题所做的是使用链接而不是标签,因为这有效。

4

0 回答 0