静灵紫 2022-02-12 12:35 采纳率: 0%
浏览 30

关于#Webaccessibility#的问题,如何解决?(标签-aria-label)

我的原始需求是这样的:
当我在键盘上按下up或者down键的时候,屏幕阅读器应该顺序的读出 “search for butterfly button”(这个文字是我设置给button的aria-label), “search for butterfly”(这个文字是我设置给div的值)
网页最初的状态是这样的

img

当我点击“click me”按钮的时候,改变下面这个button包含的div的内容以及设置button的aria-label(关于aria-label,是网页的无障碍访问协议中,提供给盲人或者其他残疾人阅读屏幕时,让屏幕阅读器读出内容的属性)

img

我发现一个问题,当我给searchDescription中的模板字符串加上双引号或者单引号的时候,屏幕阅读器可以读出我给button设置的aria-label的值
let searchDescription= Search for "${inputText}";
但是如果保持原来的字符串拼接格式,屏幕阅读器没法读出我给button设置的aria-label的值,
let searchDescription= Search for ${inputText};

所以我请教一下,这两种有什么区别吗?还是其实主要原因并不是这个,而是我碰巧修改的这个起了作用。麻烦帮我看看我怎样修改才能达到我的需求。
非常感谢!

  • 写回答

1条回答 默认 最新

  • Flashang_sg 2022-02-12 14:55
    关注

    同樣的問題我在 stackoverflow 的回答:

    https://stackoverflow.com/questions/71078411/screen-reader-cannot-read-text-which-dynamically-add-to-button/71089581#71089581

    Using single / double quotes will be string. backtick will be eval() / Template literals

    嘗試翻譯:
    使用 單' / 雙" 引號是字串。反引號 ` 是 eval() 模板文字。

    sample code :

            function test() {
                let t = 'text1';
                let n = 1;
                console.log( "#1", t );
                console.log( "#2", "${t}" );
                console.log( "#3", '${t}' );
                console.log( "#4", `${t}` );
                console.log( "#5", eval( {t} ) );
                console.log( "#6", eval( "{t}" ) );
                console.log( "#7", eval( "{n+1}" ) );
                console.log( "#8", eval( "console.log(98)" ) );
                console.log( "#9", `${console.log(99)}` );
            }
            test();
    
            /*
                #1 text1
                #2 ${t}
                #3 ${t}
                #4 text1
                #5 
                    Object { t: "text1" }
                #6 text1
                #7 2
                99 --> result by console.log(98)
                #8 undefined 
                99 --> result by console.log(99)
                #9 undefined
            */
    
    评论

报告相同问题?

问题事件

  • 创建了问题 2月12日

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据