表格可读性提升分析

作者:一叶千鸟 来源:千鸟志 时间:2010-05-19 13:03:00 

表格(Table)可读性提升的系统总结,包括“行列组织关系模糊、单元格内容不清晰”两大方面...


前边写了个大框架,好像有点笼统,因为没有各点的图文分析。最近用表格比较多,本文具体对表格可读性的提升做个系统总结,顺便把Readability Framework更新到了v1.1。如下图:

追溯表格(Table)的历史,最早设计师们喜欢用表格来布局,因为可视化简单直观,从而大大降低了web design的技术难度。在错误理解表格的基础上,不仅用错,而且模糊了表格的真正用途。到后来web standards改革,某些不实观点又把表格打入冷宫,认为<table>是罪恶之源。

实际上,用户会有各种复杂或简单的多维度大数据量内容展示需求,为了更好的对比分析因此才用到表格(比如Excel),因为表格可以让内容能更清晰易读。比如,在记事本上用Tab也可以排出具有良好可读性的“序列”效果,但毕竟不是直观且有语义的组织模式,因此我认为表格就是为可读性而生的。

表格是web上最常用的内容表现形式,所以多年来,关于表格的设计和代码一直是考验web designer基础的经典题目。在表现层如何让表格传达更好,考验视觉传达设计的功力;在语义层如何让表格结构更灵活,考验结构表现结合的功力。二者相辅相成,共同影响表格在表现层的可读性。那么哪些因素会影响表格的传达?应该如何做具体的传达提升?看下文例子。

行列组织关系模糊

主要关于单元格之间的关系问题对可读性的影响。通过辅助手段可以让信息呈现更好的差异化,或突出更重要的信息。从需求角度再次印证,HTML结构代码与表现效果紧密相关,语义化表格是我们进一步提升用户体验的核心基础。

表头表尾和表体明显区分,表头是<thead>,表尾是<tfoot>,表体是<tbody>,三个结构性代码组合使用。其目地是为了更好的用样式表控制视觉表现,以起到明显区分的作用(通常表头、表尾的效果一致)。区分了表头和表尾更容易控制,某些浏览器直接支持只滚动表身。如下图,表头表尾与表体的层次区分明显,截图有裁切:

用边框分隔单元格,使用定义{border-collapse}来合并边框,早期CSS不受重视的年代,做1像素细线表格还是挺不容易的事。给单元格加上边框后,可以更清晰的表达数据,并且不易看岔行。但是得注意,表格的边框颜色不能过于抢眼,否则看起来会很糟糕。如下图,1像素灰色边框表格和黑色文字的对比:

间行换色,其实与“用边框分隔单元格”是解决同一类问题,间行换色更适用于表格过宽的需求,一定程度上能加强避免读错。同样,间行换色的两种颜色不能反差过大,否则看来太“跳跃”。另外,间行换色也常与1像素边框同时使用,如果不定义边框颜色,此时的1像素边框是背景色的间隙效果。如下图,1像素表格的表体区域有不太明显的间行换色效果:

间列换色,也叫隔行换色,使用<colgroup> & <col>组合标签对列进行格式化,等于是间行换色的“垂直”版本,可以更强化列与列之间的差异。虽然看起来用处有限,但往往在应对实际需求时,就是这样的简单改动可以避免使用JS再开发。如下图,分别给不同列指定背景色:

重要数据列强调,同样使用<colgroup> & <col>来控制,可以任意指定数据列强调显示,表示当前的操作结果。如下图,表格的Visits字段,表示目前正在降序排列:

标签:表格,分析,设计
0
投稿

猜你喜欢

  • ASP连接Access数据库和SQL server数据库的方法

    2007-08-22 13:16:00
  • asp禁止站外盗链、判断星期几方法

    2007-10-02 12:58:00
  • 手机验证设计感悟

    2011-01-20 19:55:00
  • ASP MSSQL存储过程的实现小例

    2011-04-06 11:02:00
  • 分享SQL Server删除重复行的6个方法

    2011-09-30 11:33:05
  • asp如何防止计数器刷新计数?

    2009-11-22 19:19:00
  • ORACLE常见错误代码的分析与解决(二)

    2010-08-02 13:31:00
  • ORACLE常见错误代码的分析与解决(一)

    2010-08-02 13:20:00
  • X/HTML5 v.s. XHTML2(II)

    2008-06-18 13:19:00
  • 用 JS 来控制 target 链接属性

    2007-10-08 12:59:00
  • 发现一个不错的11px字体:PMingLiu

    2008-09-06 12:49:00
  • Laravel操作redis和缓存操作详解

    2023-05-25 02:19:29
  • 三大措施设置数据库安全 保障网站安全运营

    2008-11-28 14:41:00
  • 一个较复杂的字符串截取函数

    2009-11-02 10:45:00
  • 月影:JavaScript王者归来

    2008-08-05 17:18:00
  • 用JavaScript实现UrlEncode和UrlDecode功能

    2008-01-27 11:30:00
  • 用户体验的误解

    2008-07-15 12:31:00
  • Http头 Range、Content-Range

    2010-06-25 19:19:00
  • sql如何在Access中选择指定日期前的记录?

    2010-06-17 12:47:00
  • SQL SQL Server 2008中的新日期数据类型

    2009-03-10 15:01:00
  • asp之家 网络编程 m.aspxhome.com