我正在编写一种特定类型的北美电话号码输入助手,它会在输入旁边显示一个框,动态显示部分输入结果的格式化结果。例如,如果用户在输入中键入了“2345678”,则该框将显示“(234)567-8 ___”。
如果用户输入“@”,则该框将以红色显示“(234)567-8 @__”以表示无效字符,或者如果用户输入“012”,则该框将显示“ (234)567-8012“绿色表示有效,完整的条目。
有没有人知道尝试让屏幕阅读器用户反馈是否有帮助?也许,通过给输入辅助框一个aria-live = polite属性值? ......还是会让人烦恼?
答案 0 :(得分:2)
如果您想使用屏幕阅读器将错误显示给某人,则需要将错误文本添加到页面上具有aria-live
属性的其他节点,如果您需要hide it accessibly选择。
请注意aria-live='polite'
将等待当前的读取顺序完成。如果您希望用户立即停止并调整其操作,则assertive
值更合适。
作为替代方案,使用客户端验证并在提交时引发错误。考虑使用<input type='tel' />
来执行此操作。这将是更标准,更少破坏性的解决方案。
在任何一种情况下,都要以与输入相关的方式宣布预期格式,无论是事先还是作为错误消息的一部分。