表格可读性提升分析

前边写了个大框架,好像有点笼统,因为没有各点的图文分析。最近用表格比较多,本文具体对表格可读性的提升做个系统总结,顺便把">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字段,表示目前正在降序排列:

单元格内容不清晰

主要是单元格内容的展示以及数据属性对可读性的影响。分别阐述了根据数据特性定制显示的四种对齐方式,首先是满足用户需求,其次才是迎合用户的阅读习惯。最后一点,应该注意单元格的内容不留空。

可变长度字符串左对齐,“可变长度”指长度不一定的数据列,比如商品名称。此类情况应该符合用户的视线规律,左对齐排列,也能辅助对比明确各条数据的长短。如下图,表格的Title, Company, Location三个字段数据:

固定长度、较短字符串居中,“固定长度”指长度规格不会变化的数据列,比如日期2009.02.21(补0是数字书写规范)。“较短字符串”指很短也不需逻辑对比的数据列,比如操作链接,或表状态文字,放中间左右留白均等是折中的最好效果。如下图,表格的“报告、状态”两个字段数据:

可比较字符串右对齐,“可比较”指需要关联对比的数据列,基本都指数字的情况,比如钱有十位的¥24.30和百位的¥452.10。注意一点,这里的“可比较”其实也是“可变长度”的,只不过“可比较”是更重要的需求。表格的数据列对比,是各种系统和平台最经常碰到的需求,此点也是最容易被忽视的问题。如下图,表格的数字纵向对比效果:

合并列的单元格顶部对齐,“合并列的单元格”指使用了rowspan这个跨行属性,指需要在水平方向跨多个单元格的需求,复杂表格中一对多的关系。此时已经rowspan的单元格应该定义valign=”top”靠顶,以保证所有数据在第一行能显示完整。因为单元格默认垂直居中,如果是多行的数据表,用户从上往下的阅读开始往往搞不清楚对应的后续数据列内容。如下图,表格的“联系人、状态、价格”三个字段数据:

不留空白,空白单元格容易造成用户困惑甚至误解,用户会搞不清楚到底是没有数据,还是根本没有值?正确做法,没有数据的显示0,给没有值的单元格划线或者打叉。如下图,单元格内划横杠表示不支持:

来源:http://blog.rexsong.com/?p=10271

时间: 2024-10-23 03:36:47

表格可读性提升分析的相关文章

用户体验设计:表格可读性的提升

前边写了个大框架,好像有点笼统,因为没有各点的图文分析.最近用表格比较多,本文具体对表格可读性的提升做个系统总结,顺便把Readability Framework更新到了v1.1.如下图: 追溯表格(Table)的历史,最早设计师们喜欢用表格来布局,因为可视化简单直观,从而大大降低了web design的技术难度.在错误理解表格的基础上,不仅用错,而且模糊了表格的真正用途.到后来web standards改革,某些不实观点又把表格打入冷宫,认为<table>是罪恶之源. 实际上,用户会有各种复

网页设计应:提高网页表格可读性设计技巧

文章描述:提高表格可读性的一些技巧. 表格的应用 由于工作原因,经常接触到表格.我们发现,表格不但广泛的运用在各类数据收集和分析,同时通过表格这样一种二维矩阵来整理和陈列信息时(即便最后的展示方式并非一个典型的表格样式),能够很好的表达信息之间的逻辑关系,易于帮助理解横纵信息之间的关系. 在实际的网页设计应用中,表格横纵相互独立又相互关联的模式尤其适用于: 1.组织和展示大量的信息 表格简单的结构不但能包含大量的信息,且同时保证信息的可读性,便于读者快速扫描信息.从大量的条目中找到所需的信息.

提高表格可读性的一些技巧

  表格的应用 DLIN:由于工作原因,经常接触到表格.我们发现,表格不但广泛的运用在各类数据收集和分析,同时通过表格这样一种二维矩阵来整理和陈列信息时(即便最后的展示方式并非一个典型的表格样式),能够很好的表达信息之间的逻辑关系,易于帮助理解横纵信息之间的关系. 在实际的网页设计应用中,表格横纵相互独立又相互关联的模式尤其适用于: 1.组织和展示大量的信息 表格简单的结构不但能包含大量的信息,且同时保证信息的可读性,便于读者快速扫描信息.从大量的条目中找到所需的信息. 2.展示对比性信息 通过

js表格排序实例分析

  篇文章主要介绍了js表格排序实例分析(支持int,float,date,string四种数据类型),涉及javascript常用的升序.降序及数据类型转换等相关技巧,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

WPS表格高级筛选分析学生成绩

考试结束班主任都要对学生的成绩进行一番分析,有时还需要复制总分比较高但某门课比较弱的学生全部成绩送给任课老师以便有针对性地进行辅导.类似的工作在WPS表格中我们可以借助数据的高级筛选功能来轻松完成.如图1所示为某班级的考试成绩,我们就以此为例吧. 图1 一.列出总分不小于400分且数学课不大于85分的成绩表 先设置筛选条件:在K1和L1单元格分别输入"总分"和"数学"(与前面成绩表中相应列的标题文本要保持一致,格式不限),在K2单元格输入">=400

巧用WPS表格数组公式分析班级学生成绩

学校对于某年级各教学班的考试成绩分析,一般要统计每个班的参加考试人数.及格率.平均分(或每班前若干名学生的平均分).学生个体在本教学班中的名次等,如果仅用WPS表格的内置函数计算,则需要一个班一个班的分块后计算,非常麻烦.笔者通过巧妙组合WPS表格的内置函数编写出数组公式,简捷方便地完成了以上各种特征量数计算(如图1所示). 图1 班级学生成绩统计 1.每个班参加考试人数 假设某年级有4个班,学生总数不大于260名,班号在A列(用01.02.03-表示各班号),从261行开始为汇总行.要统计的是

javascript操作表格排序实例分析

  本文实例讲述了javascript操作表格排序的方法.分享给大家供大家参考.具体如下: 完整例子如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68

javascript操作表格排序实例分析_javascript技巧

本文实例讲述了javascript操作表格排序的方法.分享给大家供大家参考.具体如下: 完整例子如下: <html> <head> <title>Table Sort Example</title> <script type="text/javascript"> //转换器,将列的字段类型转换为可以排序的类型:String,int,float function convert(sValue, sDataType) { swit

js表格排序实例分析(支持int,float,date,string四种数据类型)_javascript技巧

本文实例讲述了js表格排序的方法.分享给大家供大家参考.具体如下: <html> <head> <title>SortTable2</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> var k=0; /**//*