屏幕阅读器和JavaScript焦点事件的可访问性?

问题描述 投票:2回答:1

我有一个表单,当输入有效文本时,有一些JavaScript可以前进到下一个字段(下面的示例)。我的问题是如何通过屏幕阅读器处理。这会使读者感到困惑,还是会检测到焦点的变化并将新字段读给用户?

HTML

<form action="/some/action" method="post" role="form">
    <legend>A Form</legend>
    <label for="first_number">First Number</label>
    <input id="first_number" name="first_number" required type="text" value="">
    <label for="second_number">Second Number</label>
    <input id="second_number" name="second_number" required type="text" value="">
    <button type="submit">Submit</button>
</form>

JavaScript的

(function (document, window) {
    function getFocusCallback(current_focus, go) {
        var check = document.getElementById(current_focus);
        var el = document.getElementById(go);
        var pat = new RegExp('^\\d{3}$');
        return function callback() {
            if (pat.test(check.value)) {
                el.focus();
            }
        };
    }

    document.getElementById('first_number').addEventListener('input', getFocusCallback('first_number', 'second_number'));
})(document, window);

因此,在用户在第一个字段中输入三个数字后,在第二个字段中调用焦点方法。

javascript accessibility screen-readers
1个回答
1
投票

我认为这里的问题是出乎意料的行为。对于没有视力的用户,任何非标准行为都可能成为混淆的可能来源,因为它的工作方式与其他所有网站不同。

此外,这是一个你在每个领域,或只是其中一些领域的功能?如果您有多个具有不同行为的字段,那将尤其令人困惑。

几年前有一个相当不错的主题,几个人的输入比我自己更有知识。 https://lists.w3.org/Archives/Public/w3c-wai-ig/2015AprJun/0162.html

您需要单击每页底部的“下一条消息”链接以读取该主题中的所有消息。

© www.soinside.com 2019 - 2024. All rights reserved.