3

设计一个适合所有人的网站是一门真正的艺术,而渐进式增强对我来说实际上是一个口头禅......

所以我想知道,无论浏览器、操作系统、javascript、flash、屏幕分辨率、禁用用户可访问性等如何,您使用过哪些最佳技巧来使网站适用于所有人?

(我知道很多关于 javascript 和浏览器技巧的知识,但我承认我对 flash 等一无所知。)

编辑:我并不是真的在谈论 1% 的 RIA 网站,如果没有 javascript 或 flash,它们根本无法运行。我不是在问如何在没有 js 的情况下编写 Google Docs。我想知道人们为那些可以做很酷的事情但实际上并不需要的网站做了什么。

我会提供几个我自己的答案...

4

7 回答 7

5

我尽量避免咒语,除了世界是一个混乱的地方的咒语。

我认为很多桌面功能将被 Web 功能所取代,这将是一个棘手的过渡,最终将在浏览器中使用真正的应用程序。真正的应用程序是指 JavaScript 或 Flash 或 Silverlight,或 Java 或 C# 或 Objective-J 编译成 JavaScript。

对我来说,唯一的诀窍是识别无法有效使用应用程序的人和浏览器,并为他们提供一些替代内容。

这包括检测移动设备和提供适当的内容。有许多网站在 iPhone 上崩溃了,因为它们的 Flash 太重并且依赖于宽大的计算机显示器。

我认为对于作为网站的网站要求 JavaScript 是不行的,但我认为对于作为应用程序的网站来说是可以的。我认为只提供 960 像素宽的页面是不行的。我认为只提供 Flash 格式的视频是不行的

于 2009-07-18T21:08:19.167 回答
4

检查您的统计数据(如果您没有统计数据,则安装Google Analytics )并确定您的用户要去哪里以及他们实际在做什么。

例如

1.) 您的用户是否经常因为找不到东西而使用搜索?如果是这样,也许您可​​以使搜索工作更好?

2.) 您的 404 页面是否提供一些快速选项来搜索相关术语或尝试“猜测”他们在寻找什么?

3.) 您的站点是否有一个站点地图,可以快速访问您站点的有意义的部分?

4.) 如果一切都失败了,用户是否可以通过简单的方式联系您/技术支持以帮助他们找到他们需要的东西?

5.) 不确定您是否在您的网站上“出售”某些东西,但类似于您在任何主要的实体零售商处结账时...他们会问您是否找到了今天想要的所有东西。考虑提供一个用户可以提出建议的选项......也许你有一个尚未开发的市场等待被征服。

6.) 关于可用性,请务必在 IE (6,7,8)、Safari 等中浏览您的网站,并确保它在您关心的任何地方都能正常工作。

7.) 有一本很棒的书叫“不要让我思考”,它是关于现实可用性的一个很好的资源。如果你还没有读过……去拿一份吧。

此外,确保所有其他小事情都得到照顾......例如,您充分利用缓存(JS,CSS,图像)

于 2009-07-18T21:10:02.067 回答
4

我在处理基于 ajax 的网站时使用的一些技巧:

1)使用正常的a标签编写整个页面和所有链接,这些标签将在禁用javascript的情况下转到正确的页面,然后根据“rel = external”之类的内容“hijax”它们。

2)在javascript会插入动态内容的任何地方添加带有替代内容的noscript标签。

3) 隐藏 javascript 将在 DOM 加载时使用 javascript 控制的元素,而不是将它们隐藏在样式表中,然后用 javascript显示它们,因为如果用户关闭了 javascript,他们将永远无法看到它们。

于 2009-07-18T21:13:32.137 回答
2

通常我所做的是在没有任何 javascript 的情况下编写整个网站。一旦它起作用,您就可以“标记它”。

也就是说,有一些很好的起点:

PRG 模式对于良好的可访问性通常是必不可少的。

您要确保在 HTML 的开头附近有一个启用跳转链接的菜单。如果您不确定,请尝试在链接或类似的基于文本或语音的浏览器下运行您的网站。如果您生气,您的可访问用户也会生气。

确保仅在图像有意义时才将 alt 标签应用于图像。仅出于设计目的提供图像 alt="" 是合法的。同样,设置 title="" 将满足您的 Firefox 用户对悬停工具提示的需求,而不会打扰您的可访问用户。

希望这些简单的提示对您有所帮助!无障碍是每个人的责任!

于 2009-07-19T02:33:49.220 回答
2

尝试在使用插件或其他难以访问的内容时提供后备内容。例如,将视频放在页面上。如果您要采用 HTML5 方式:

<video>
    <source src="video.ogv" type="video/ogg" /><!-- OGG for Mozilla/Opera -->
    <source src="video.mp4" type="video/mp4" /><!-- h.264 for Apple/Google -->
    <object><!-- Fall back to Flash/h.264 for older browsers -->
            <!-- And in the event the UA can't handle any of those, all you can do is provide a link to the media -->
            <p><a href="video.ogv">Download the video</a>.</p>
    </object>
</video>

[伪代码,但你明白了]

如需针对该特定问题的更全面的解决方案,请查看 Kroc Camen为每个人提供的视频

于 2009-07-20T11:27:12.013 回答
-1

渐进增强并不复杂。

考虑三个主要问题:

  • 内容 (HTML)
  • 演示文稿 (CSS)
  • 行为(JS)

您从内容开始,逐步解决问题,确保每个新问题都不会妨碍前一个问题或试图模仿另一个问题;JavaScript 不应该生成内容;CSS 不应该处理行为;HTML 不应该处理演示文稿等。

于 2009-07-18T21:32:30.960 回答
-1

好的,当涉及到网站类型的应用程序时,最好的办法是始终以RESTful方式支持多种格式……HTML、XML、JSON、RSS、Atom(有意义的地方),为什么不其他...要做到这一点,您需要在服务器上使用干净的 MVC 架构...好吧,它不需要是 MVC,但是假设渲染层应该像面包一样愚蠢,并且编写良好的业务逻辑正在运行在下面...您的前端控制器应该选择正确的格式来响应请求,然后就可以了...您检索/更新数据,进行分页等的整个业务逻辑实现一次,然后您只需渲染将其转换为 HTML 模板,或将其转换为 JSON,或执行任何操作...

现在的想法是,制作一个视图实现,它将返回坚如磐石、语义和纯 HTML ......并制作一个,它将大量使用 javascript ......使它们在不同的路径下可访问,并使 javascript无法抓取...在您的主要 HTML 模板的开头放置一行 javascript,这将导致重定向到该站点的 javascript 版本...您也可以对 flash 执行相同的操作...等等。 .. 然后,在“脏”版本的应用程序中,你可以做任何你喜欢的事情......每个 HTTP 加载模板,然后是 JSON 中的数据,并在客户端进行渲染,创建一个持久的有状态客户端javascript 应用程序...为什么不呢?

我个人认为,这比从漂亮而清晰的 HTML 开始更好,也比塞进大量 JavaScript 更好,这甚至对所有用户都不起作用......

问候

back2dos

于 2009-07-19T12:11:19.817 回答