我有一个简单的表格。它包含一个“FILE”类型的输入和一个提交按钮。它正在进行 508 合规性测试,他们遇到了问题。
如果您按 Tab 键切换到 FILE 输入并按 Enter 键,IE 将提交表单。据我了解,这是正确的行为。我没有做任何 JavaScript 或任何事情来故意改变按键的行为。
我们的 508 测试人员不同意,并认为在 FILE 输入中按 Enter 键应该打开浏览对话框。我还没有找到任何结论性的东西,但我希望有人能为我澄清。表格样本如下。
<form id="upload_Form" METHOD="POST" ENCTYPE="multipart/form-data" action="" NAME="uploadForm">
<INPUT TYPE="FILE" NAME="filenames" id="filenames" title="Select File for Upload">
<input type="submit" value="Upload"/>
</form>
最佳答案
其实,这是共识的问题。我个人认为,就可访问性而言,使用回车键而不是空格来触发浏览对话框是正确的行为 - 对于普通用户来说更直观。 这就是为什么 WebKit 在聚焦上传输入时这样做,而不是提交表单。
一个简单的 jQuery 解决方法作为 IE 的修复:
$(document).keypress(
function(event){
if (event.which == '13') {
event.preventDefault();
$('#upload-form').click();
}
});
关于html - 当文件输入具有焦点时按回车键的正确行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18896137/