给网站界面预留退路
作者:一叶千鸟 来源:千鸟志 发布时间:2009-03-25 20:32:00
常见到网上博文有错误理论,包括身边很多朋友都曾认同“可访问性(Accessibility)是为残障人士准备”的观点。其实在互联网技术领域远不止这么简单,总结起来有三个方面:
应付极端环境下的正常浏览需求;
结构、表现、行为跨终端跨平台兼容支撑;
保障残障人士无障碍信息获取。
web1.0网站以内容为主;web2.0网站以功能为主。当前主要有“纯功能、内容+功能、纯内容”三类网站界面形态,格局已基本定型。虽然以内容为主的网站更突出Accessibility,以功能为主的网站更突出Usability,但不是说以功能为主的网站就不用考虑Accessibility。
技术发展至今,“纯功能”网站界面为提高Usability有大量富客户端应用,并且逐渐形成核心竞争力。也就是说在这种情况下同时保证良好Accessibility和Usability几乎不可能,因此只能采用保底的用户友好方案,告知为什么?怎么办?比如Gmail在disable javascript情况下会默认进入“基本HTML”模式;如果切换标准视图则提醒“必须启用JavaScript。”如下图:
但在传统不以富客户端应用为核心竞争力的“内容+功能”网站界面上,同时保证良好Accessibility和Usability则完全可能,只是技术复杂度问题。比如yahoo首页这个著名web2.0门户和Ajax应用典范,在disable javascript情况下,虽然所有交互模式不能用,但功能不受影响,整体页面效果也保持良好。如下图:
“纯内容”网站界面就是以信息为主的各资讯、新闻类网站内容页,大量存在于互联网,也大量被收录于各搜索引擎,这样的页面保证Accessibility更得把握住用户核心需求。比如163新闻的内容页,在disable css情况下,依然能够清晰辨认信息内容,一方面呈现优先级处理得当,另一方面标记语言的结构化良好。如下图:
说到disable css, javascript,好多同行就会想到人为因素,并且以此定论应用场景不典型、不用考虑。其实懂得disable的高端用户也一定知道如何enable,真正可怕的是网速慢、I/O设备故障等非人为不可控因素,造成css, javascript无法下载或解析。
网上流传份 5000万独立用户的网站数据分析显示 ,javascript disabled有1.19%,这个数据与我能看到的几个网站差不多。如果每天5000万的流量,大概就有60万这样的用户。
不管是客户端还是服务器端的网速问题,都会造成数据无法下载、浏览器无法渲染,严重影响用户的浏览体验。或许有人认为,曾经拨号时代此问题比较明显,现在资源普遍已比较宽裕。首先并不是全中国的网络都已小康,其次并不是小康的网络就健康,比如我们办公室经常还因为硬件防火墙、带宽限制等原因造成网络故障;以及各种拨号的无线龟速上网。
尤其在病毒泛滥、中 * 毒的时候,浏览器经常会出现莫名其妙的问题,我曾经就碰到过因为浏览器一直脚本报错,导致服务无法使用,数据拿不到而影响工作。另外在国内使用代理服务器的愤青、伪愤青们也不少,是否有人考虑过为什么有些网站访问容易?有些困难?
回到五年前,在Gmail和Flickr刚在国内流行时,无疑都经历了访问效率低下的严峻考验。作为当时的用户和现在的从业者,我们不妨设身处地认真思考,为什么Gmail容错做的好?为什么Flickr会慢的很稳定?
极端情况并非只极端条件下才碰到,不可控因素无处不在。著名诗人泰戈尔曾说过,世界上最远的距离不是生和死,而是电信和网通间的距离,还有中国连接世界的距离。
对本文亦有贡献:
猜你喜欢
- ASP+XML制作菜单管理!menu.asp 这个是前台执行部分<% '----------------
- 前面的话在介绍Date对象之前,首先要先了解关于日期和时间的一些知识。比如,闰年、UTC等等。深入了解这些,有助于更好地理解javascri
- 这篇文章主要给大家介绍了关于Django跨域请求问题解决的相关资料,文中介绍的实现方法包括:使用django-cors-headers全局控
- 在使用前必须弄明白JWT的相关知识,可以看我的另一篇博文:https://www.jb51.net/article/166843.htm什么
- 索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针.数据库索引的设计原则:为了使索引的使用效率更高,在创
- Django 中自带了 sitemap框架,用来生成 xml 文件Sitemap(站点地图)是通知搜索引擎页面的地址,页面的重要性,帮助站点
- 字符串类型是python里面最常见的类型,是不可变类型,支持单引号、双引号、三引号,三引号是一对连续的单引号或者双引号,允许一个字符串跨多行
- 1.创建主键语法 ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名)
- 如下所示:L = ['adam', 'Lisa', 'bart', 'Paul
- 查看版本号sqlplus / as sysdba>select * from v$version;备份orcl数据库export OR
- 使用Python的pillow模块 random 模块随机生成验证码图片,并应用到Django项目中安装pillow$ pip3 insta
- 如下所示:# coding=utf-8import osimport cv2videos_src_path = "/home/wg
- 一、python线程的模块1.1 thread和threading模块thread模块提供了基本的线程和锁的支持threading提供了更高
- 在Microsoft SQL Server 2000中,用于数据存储的实用工具是数据库。数据库的物理表现是操作系统文件,即在物理上,一个数据
- # -*- coding: cp936 -*-from scapy.all import *from threading import Th
- 我是使用源码编译的方式安装的,网上有的可以添加 ppa 源进行在线安装,但我试了行不通,所以还是采用源码安装1、安装编译依赖项sudo ap
- Javascript 两个窗体之间传值实现代码javascript中还有一个函数window.showModalDialog也可以打开一个新
- 前言MySQL 服务器正确安装以后,可以通过命令行管理工具或者图形化的管理工具来操作 MySQL 数据库。MySQL 图形化管理工具极大地方
- 微信小程序保存图片到相册可以分成两种:一种是保存网络图片,一种是保存本地图片保存网络图片:var url = '网络图片路径'
- 1、Node.js的单线程 非阻塞 I/O 事件驱动在 Java、PHP 或者.net 等