网站标记针对HTML5。所以假设它是在现代浏览器中运行的。支持禁用javascript的场景是否有意义?
如果有,它应该有多灵活?它应该允许用户做所有事情还是只做基本的事情?
和CSS一样的问题。我应该使用一些模式(例如表而不是div等)来支持禁用CSS的客户端吗?
P.S。我没有任何具体要求,所以这就像是个人挑战。
答案 0 :(得分:3)
如果您遵循标准,其中包括从功能性内容中分离样式,那么您不必知道某人正在体验您的网站的背景 - 但您可以确信他们以他们习惯的方式获取它到。
例如,开发了一种机器人手,可以手动手语阅读和写入(签名),这是基于触摸的(对于无法看到或听到的人 - 因此没有屏幕,没有屏幕阅读器)。如果您使您的网站遵循标准,则可以通过此技术轻松访问 - 以及您可能没有考虑过的其他方案。
我认为公司防火墙和公共计算机的javascript禁用频率比你想象的要高。
此外,简单的html还有一个额外的好处,使用适当的标记来定义哪些元素,搜索引擎可以正确解释您的内容并相应地列出您的网站。
编辑:事后补充
另一个不遵循标准让您遇到麻烦的例子是添加javascript click events
而不是允许正常的浏览器操作。这可能会导致触摸屏设备出现问题,因为点击事件可能会触发两次(如果您也包括触摸事件)或根本不触发(因为触摸屏没有点击事件,有时只会尝试模拟点击事件)
故事的寓意是,如果你遵循标准,那么你不必再猜测人们可能获得你内容的所有可能场景,你只知道它有效。
答案 1 :(得分:3)
在javascript方面需要优雅降级。没有JavaScript的用户应该能够毫无问题地浏览您的网站。 (但没有获得他们对JS的全部体验)
禁用CSS?表?的疯狂。强> 不。如果你走这条路,你最终会为那些无法阅读HTML的浏览器制作网站。
注意: 当我说到优雅降级时,我想到了一个网站,其中Javascript只是网站上的一个加号。如果您正在制作一个主要依赖于javascript来完成所有事情的网站,请不要打扰。您不应该建立一个网站,其中用户获得的体验与您的预期不同。
答案 2 :(得分:3)
由你支持不支持javascript。你为什么不先问自己这些问题?
你应该先问自己这些问题。我并不是在暗示你不喜欢盲人或懒惰。我知道,如果你已经有一个不支持关闭javascript的网站,这将是一场噩梦。所以我不是想逃避侮辱/内疚之旅。但是如果你是从头开始,那么恕我直言,最好在没有javascript的情况下构建它,然后返回并在以后添加它。
对于被禁用的CSS,我认为你可以不用担心那个。
至于div与表格。使用div,如果要渲染表格数据,请使用表格。基本上,如果你试图在某个地方制作某些东西,并且你正在尝试使用一张桌子,那么你做错了(如果你感兴趣,你可以谷歌一下)。
答案 3 :(得分:1)
一些人仍然禁用JavaScript以解决“安全问题”。问题是:这些用户是否被疏远而没有原因?一些“富客户端”技术只是需要 JavaScript的客户端功能。如果确实如此,它会这样做:如果没有,它就不会。了解目标受众并根据需要提供回复。
我还没有见过有意禁用CSS的人。但是,重要的是要记住有视力障碍的用户,他们可能会选择CSS很少或没有好处的替代读者 - 这包括CSS / JavaScript交互,例如“滑块”。如果这是关注点,可能值得研究WAI-ARIA(但没有表格,除了真正的表格数据 - 在这种情况下,没有分割!)。
此外,可能仍有一些人使用Lynx - 2011年的新版本; - )
快乐的网络开发。
答案 4 :(得分:1)
这一切都取决于您的目标受众。请记住,HTML5在现代浏览器中是受支持的,并且对于旧浏览器会有问题(有像modernizer这样有帮助的库)。如果您真的担心支持所有类型的客户端,则可以使用名为progressive enhancement的技术。现在大多数浏览器都打开了javascript。就CSS而言,建议使用无表格方法。表只应用于表示表格数据。这使得样式元素更容易,并且是一种更灵活的方法。
答案 5 :(得分:0)
我不认为使用表而不是div这是一个很好的方法。
当我认为在javascript中禁用了两个想法时,我会想到:
如果您有表格(重要!)
替代ajax功能(可能,这取决于您的网站)
具有禁用CSS的客户端必须能够读取您的内容,因此请编写干净且有意义的代码。无论是否启用CSS,网站都不需要相同。
答案 6 :(得分:-1)
我想在设计网站时告诉你,不要相信你的用户,因为你永远不会知道点击什么会发生什么,所以最好采用强大的东西来验证你所有的网站内容和用户可以打开/关闭javascript。 所以你的网站应该以适当的方式运行而不受任何干扰。
关于Table,在制作数据时总是不好用表,所以请使用DIV或SPAN,因为你还需要为它应用CSS。