html - 当文件输入具有焦点时按回车键的正确行为是什么?

标签 html forms section508

我有一个简单的表格。它包含一个“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();
      }
});

Demo Fiddle

关于html - 当文件输入具有焦点时按回车键的正确行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18896137/

相关文章:

html - 从页面中删除列会影响对齐

html - 错误 - 从第二个元素开始向左浮动,而不是从 div 开始

javascript - 两个具有相同操作的提交按钮,其中一个为同一表单添加了功能/操作

javascript - 有没有办法在没有 CSS 的情况下显示/隐藏元素?

javascript - AngularJS 和 508 标准

javascript - HTML 选择标签使用什么事件

javascript - 无法从 LocalStorage 获取下拉列表的值

javascript - 验证可以添加或删除字段的动态表单

javascript - 您如何提醒视力受损的用户正在显示模态窗口?

html - UIWebview - 文本切割