随着2000年3月IE5 Macintosh版本的发布,世界(至少使用Mac的用户)终于得到更多的Web标准体验。IE5/Mac支持XHTML,ECMAScript,几乎所有的CSS1规范,大部分的CSS2规范,以及大部分的DOM。IE5/Mac同时能显示未处理的XML,尽管它不清楚谁要那么做(若要了解更多请查看第5章,或访问http://bugzilla.Mozilla.org/show_bug.cgi?id=64945)。
3.2.1 IE5/Mac:转换和放大
IE5/Mac与标准相结合得如此紧密,以至于在页面顶部写一个<!DOCTYPE>标签来控制显示和行为,这一技术称为DOCTYPE转换将在第11章“DOCTYPE转换和标准模式”中论述。若简单地放置正确的DOCTYPE,一个页面将可以用Web标准来显示和执行。用一个老的或者局部的DOCTYPE(或者根本不放),页面将按原有的模式显示和执行,以便能够访问Web上99.9%的非标准兼容的商业站点,至少目前是这样(如图3.5所示)。

图3.5
Hello,world,这是IE5 Macintosh版本,第一个支持大部分Web标准的浏览器,一个开创自己道路与其他产品竞争的产品。一些创新最后被用于IE Windows版本,不幸的是,没有全部采用
IE5/Mac同样包含一个名为“文本放大镜”(如图3.6所示)的功能,能让用户自己放大或缩小页面文本,包括用CSS设置大小的文本,用以解决长期存在的可访问性问题。Prior 到IE5/Mac,只有Opera浏览器允许用户缩小或放大所有的页面文本,包括用像素来定义大小的文本。Opera用“zooming”命令操作整个页面、图片和其他各项。在设计师设计和用户使用需要之间偶尔有冲突产生,这是针对此冲突的一个创新解决方法。如图3.7、图3.8、图3.9所示。
3.2.2 Netscape的大胆转移
IE5/Mac的发布引发了大量浏览器支持标准,于是Netscape 6和它的开放源码版本 Mozilla也都开始在所有平台上支持XML、XHTML、CSS、ECMAScript和DOM,并同样提供DOCTYPE开关和文本放大镜功能。它已从一个基本浏览器成长为一个完全适应标准的浏览器。

图3.6
使用命令或者单击下拉菜单执行IE5/Mac的文本放大镜功能。不论文本是否被设置了大小,用户都能够放大或者缩小页面上的文本,而图片不受影响,只有文字尺寸被改变。很快文本放大镜被应用在Netscape、Mozilla、Chimera和其他领导标准的浏览器中。哎~~~使人恼火的是,在IE/Mac文本放大镜功能推出3年后,IE的Windows版本依然不支持这个实用性很强

图3.7
PixelSurgeon(www.pixelsurg- eon.com/news/)是一个领导设计先锋的门户,是K10K的姐妹站点,这是在Opera 7浏览器中的实际尺寸的浏览效果

图3.8
同样的站点用Opera的页面放大功能放大到200%。该功能提供了阅读小图片按钮和字体极小的文本图片的方法,解决了可访问性问题

图3.9
还是同样的站点,这次用Opera的页面放大镜放大到500%,对于设计师,这个功能提供了一种更方便的学习站点设计元素的方法,不再需要将屏幕拷贝到Photos
为了完全符合标准,在WaSP的促进下,Netscape大胆地抛弃已经存在的Navigator/ Communicator 4.0浏览器和每一个遗留的过时代码,从零开始,放弃升级,重新开发一个新的浏览器。这些年Mozilla/Netscape 6的开发使Netscape损失了相当大的市场——开始于1998年,直到2000年后期一直没有推出商业化产品(直到2002年还没有推出一个可行的商业版本)。
那些Netscape的管理者和工程师并没有疯狂,他们显然像WaSP一样相信标准。新浏览器原计划大约在一年完成,可是一年过去了,两年甚至三年也过去了,管理者和工程师仍然英勇地坚持着,决心要坚持到底。
许多公司并不在乎,干脆放弃了这个项目。他们宁愿在遗留的代码上发布一个非标准的5.0浏览器,也不愿意牺牲额外的时间和与一个厉害的竞争者分享市场,就像Microsoft。虽然股东可能不同意,但Netscape的管理者和工程师依然值得感谢和信任,为了协同工作和Web未来的健康发展,他们放弃了短期的利益和他们自己个人的利益。
3.2.3 放开的水闸
接着Opera 6发布了,没有DOCTYPE转换,也没有DOM,但是Opera能很好地支持大部分标准。Opera避开DOCTYPE转换是因为不同于众多商业浏览器,Opera总是按照W3C规范寻找和显示页面。因此,Opera的制造者发现没有理由提供一个向前兼容的“怪癖(quirks)”模式(Opera 5和6不支持标准的W3C DOM,但是2002年发布的Opera 7支持)。
最终Microsoft发布的IE6 Windows版本,主要为了能够追上它的Macintosh产品正确的CSS表现的。IE6对XML、ECMAScript和DOM提供了强大的支持,并且加入IE5/Mac、Mozilla和Netscape 6+提供DOCTYPE转换的行列(在浏览器的发布中,Windows的商业联盟最终被迫在IE6/Windows使用DOCTYPE转换)。
IE6/Windows依然不支持文本放大功能。不过,虽然文本放大功能从可访问性和友好性的角度看是非常有价值的,但这也只是一个创新,而不是标准。IE6/Windows中依然存在一个使用浮动属性破坏CSS布局的bug(看第16章“CSS重新设计”),尽管如此,IE6/Windows还是一个高度符合标准,制作精良的浏览器,比前一版本IE5.x/Windows的工作性能更强。
没有浏览器是完美的(也没有软件是完美的),但是每种浏览器在使用标准和可访问性上都各有所长。没有人,至少Web标准组织的所有人都相信,这些公司将走得更远,最终促使浏览器完美地符合标准。设计师和开发者将免费使用CSS布局和其他标准为基础的技术。
2000–2001:标准先锋
一些设计师和开发者的先行者,在IE6/Windows发布之前就开始使用CSS布局和其他标准(包括基于DOM的脚本)为基础的技术。有些人通过创建不同环境实现标准,他们强迫IE5/Windows精确解释CSS,并在4.0浏览器中关闭CSS,是因为老浏览器不能正确地解释CSS。另外一些人使用分层的方法,给所有浏览器一些可看的内容,并为新的更符合标准的浏览器预备更“完整”的设计。这些经验丰富的设计先锋将在第4章中讨论,整个第2部分“设计和构建”将会描述它的工作区(workaround)和策略。







