jquery UI自动完成组件,屏幕阅读器读取值,但我想读取标签

jquery UI Autocomplete component, screen reader read values, but i want to read label

提问人:SWAMINATHAN M 提问时间:11/9/2023 更新时间:11/9/2023 访问量:6

问:

'$(“输入#header_search”).autocomplete({ minLength:0, 源:函数(请求、响应){ 变量 feature_name_synonym = $('#header_search').attr('feature_name_synonym'); var feature_name_synonym_obj = JSON.parse(feature_name_synonym);

            var feature_flow_slug = $('#header_search').attr('feature_flow_slug');
            var feature_flow_slug_obj = JSON.parse(feature_flow_slug);

            var feature_name = $('#header_search').attr('feature_name');
            var feature_name_obj = JSON.parse(feature_name);

            var filter_index = [];
            var feature_name_array = [];
            var feature_flow_slug_array = [];
            var jsonArr = [];
            if (request.term.length != 0) {
                var search_text = request.term.toLowerCase();
                for (var x in feature_name_synonym_obj) {
                    if (feature_name_synonym_obj[x].indexOf(search_text) != -1) {
                        filter_index.push(x);
                    }
                }

                for (var x in feature_name_obj) {
                    if (filter_index.indexOf(x) != -1) {
                        feature_name_array.push(feature_name_obj[x]);
                    }
                }

                for (var x in feature_flow_slug_obj) {
                    if (filter_index.indexOf(x) != -1) {
                        feature_flow_slug_array.push(feature_flow_slug_obj[x]);
                    }
                }


                for (var i = 0; i < filter_index.length; i++) {
                    jsonArr.push({
                        label: feature_name_array[i],
                        value: feature_flow_slug_array[i]
                    });
                }
            } else {
                for (var x in feature_name_synonym_obj) {
                    filter_index.push(x);
                }
                for (var x in feature_name_obj) {
                    feature_name_array.push(feature_name_obj[x]);
                }

                for (var x in feature_flow_slug_obj) {
                    feature_flow_slug_array.push(feature_flow_slug_obj[x]);
                }
                for (var i = 0; i < filter_index.length; i++) {
                    jsonArr.push({
                        label: feature_name_array[i],
                        value: feature_flow_slug_array[i]
                    });
                }
            }
             if (jsonArr.length == 0) {
                 jsonArr.push({
                     label: $("input#header_search").attr("no_results_found"),
                     value: "no_result",
                     autoFocus: false,
                 });
             }
            response(jsonArr);
        },
        select: function (event, ui) {
            event.preventDefault();
            var label = ui.item.label;
            var value = ui.item.value;
            if (value != "no_result") {
                $("input#header_search").val(label);
                window.location = "/" + value;
            }
        },
        focus: function (event, ui) {
            event.preventDefault();
            //$('input#header_search').val(ui.item.label);
        },
        open: function (event, ui) {
            if (!is_mobile) {
                $('.ui-autocomplete').off('menufocus hover mouseover mouseenter');
            }
        },
        autoFocus: is_mobile,
    }).on('focus', function () {
        // $(this).keydown();
    });
}`

我想屏幕阅读器应该阅读标签,但是当我单击标签页面时,应该转到值内容

用户界面 jquery-ui 自动完成 标签 屏幕阅读器

评论


答: 暂无答案