程序员在页面友好性上常犯的5种错误以及改正方法
程序员在页面友好性上常犯的5种错误以及改正方法:
我是一个性情乖戾的web用户,但我想这也帮助促使我成为了一名优秀的web开发人员。当我看到一个网站上有让人不爽的设计时就会非常的恼怒,一些很简单的东西为什么做不好?下面是5种常见的可用性方面的错误,以及如何纠正这些问题的方法。给自己方便,也与人方便,确保自己不要犯这样的错误。
使用表达submit事件,不要用click事件;请用表单标签form!
我不知道遇到过多少次,当我使用回车键提交一个表单时(或手机上用箭头/输入键),却什么都没发生。我只好又用鼠标点击提交按钮,表单终于有了反应。这是我最痛恨的一个网页可用性上的问题,一看就是业余人员做的。用鼠标点击提交按钮,或在手机上关闭键盘然后滚动到页面底部找到提交按钮,这都是讨厌的多余的动作,完全不需要这样做。你只需要使用submit事件,网页就会变得友好很多:
document.getElementById("myForm").addEventListener("submit",function(e) {
e.preventDefault();
// ... Do processing here. Yay for "enter" key submission!
return false;
});
如果你在什么地方犯了这样的错误,请立即纠正。
不要阻止当有[CONTROL]或 [META] 键按下时的点击事件
我是一个非常喜欢在浏览器新标签页里打开网页的人,我最近在找一个新房子,我会同时打开很多网站页面,点击里面的图片观看,但不幸的是,打开的这些页面都进入了同一个标签页。很讨厌。在你对任何链接使用preventDefault方法前,请先检查用户是否按下了[CONTROL] 或 [META] 键:
document.getElementById("myLink").addEventListener("click",function(e) {
// e.preventDefault(); (不好)
if(e.meta || e.ctrlKey) return; // 如果用户想新开一个窗口,请放行
e.preventDefault();
});
我在我的网站上就是这样做的,用户在打开新标签页时就不会遇到类似的问题。不要迫使你的用户在你的网站上不停的点击后退键!
在设置text-overflow:ellipsis的时候,请在你的网页元素上添加title属性,
有些新的CSS属性或属性值是非常的有用,例如text-overflow: ellipsis。程序员以前经常会使用什么方法来实现这种效果。我赞同使用text-overflow: ellipsis,但是,当我用鼠标悬停在这个元素上时,你最好用title属性显示出完整的信息:
I am somereally, really long text that's going to be ellipsized
如果你不想把相同的内容输出两次,你可以使用Js动态的设置title。不管怎么实现,请为用户着想。
不要忘了:focus和 :active!
很多人在给页面元素设计样式时忽略了它们的状态,只考虑了用户使用鼠标操作,忘记了用户也许是用键盘操作。请用:focus 和 :active 标明它们的状态:
a:hover,a:active, a:focus { /* 改变它们的样式 */
color: #900;
}
给用户做一件好事吧:下次当你开发一个网站,请用tab键遍历页面上所有的元素;如果你按动tab不键后,页面没有任何聚焦点变化,请检查你的样式表,看看是否忘了给它们添加一些状态样式!
请使用search/email文本框类型
当在手机或平板等移动设备上填充表单信息时,我遇到了超级麻烦的问题,因为我必须切换键盘模式才能找到“@”字符。我希望Web开发人员都能成熟点,学会使用正确的文本框类型:
稍微修改一下,就能给你的手机用户带来巨大的便捷。
我们程序员常犯的错误有很多,以后我还会写更多这方面的文章,但可以肯定的是,大多数的这些错误都很容易纠正,只要你注意到了它们。
免费领取LAMP兄弟连原创PHP视频教程光盘/《细说PHP》精要版,详情咨询官网客服:http://www.lampbrother.net
大家可以订阅一下邮件,我会时不时的给大家分享IT相关教程及书籍。
http://list.qq.com/cgi-bin/qf_invite?id=ea7d919ad263169bce2be53a3e16da0f0ec55ac36513c68e |

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

如何在系统重启后自动设置unixsocket的权限每次系统重启后,我们都需要执行以下命令来修改unixsocket的权限:sudo...

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...

在PHPStorm中如何进行CLI模式的调试?在使用PHPStorm进行开发时,有时我们需要在命令行界面(CLI)模式下调试PHP�...
