潜谈产品设计中的可用性和可访问性
作者:oldfish 来源:Alipay UED 发布时间:2009-01-18 12:47:00
在用户体验这个行业,经常会听到,可用性,可访问性这样专业的名词,但是,事实上在很多产品实现过程里都忽略了这一点!WHY?
举个很简单的例子,用户的注册流程,很多交互设计师在做这块流程设计的时候都无可避免的忽略了部分可用性和可访问性,直白点说,产品的应用场景没有cover全用户群,损害了这部分用户的可用性和访问性。
太抽象?不明白?好,那我们就用户注册流程展开,侃侃流程中用户提交表单的设计。
看上图,这是现有支付宝注册流程中的一块功能,要实现的功能很简单,个人用户直接填写注册信息,是企业用户的话,就先选择企业,再填写注册信息,最后提交表单,完成操作。流程早就发布上线了,看上去很和谐,但是不然……
不然在哪里呢?应用场景,没错,您答对了。交互设计师在设计这个流程的时候忽略了一些场景,没有考虑到那些客户端对JavaScript不支持或支持不好的用户。做个实验,打开支付宝的注册页面,然后禁用脚本,你会发现,不论怎么搞,你都无法点出企业类的注册信息了!OK,现在明白了吧,企业类的用户在这种场景下基本上就game over了,搞不好还会再来上一句“FT,支付宝真TMD难用啊!”
听到这里,或许很多交互设计师坐不住了,“这不是前端开发工程师要去考虑的吗?”,我认为要这样来理解,如果单纯的从前端开发的角度而言,这种实现方式是无可厚非的。什么做法?对的,要说明一下……
实现方案1:采用css样式设置企业注册信息的容器默认为隐藏,当用户点选企业后通过js脚本改变容器的隐藏属性为显示。
实现方案2:通过脚本控制企业注册信息的容器的初始状态为隐藏,当用户点选企业后通过脚本改变容器的隐藏属性为显示。
一般情况下,前端会有两种实现方案,抛开可访问性,光从Developer这个层面上来选择的话,我选第一种。现在的注册流程中用的也是这个方案。
讨论一下这两个方案吧,各有优缺点,但是今天我们讨论的是可用性和可访问性,所以很显然第一种方案是不可取的。那为什么前端开发工程师还是选择了她呢?自然也有他的道理,如果采用第二种方案的话,势必要在页面结构加载完成后,再去初始化要隐藏的容器,当客户端网速不佳的情况下,会先显示企业注册信息的内容,几秒后又不见了,体验上有所折扣。但是就可用性和可访问性而言,是无懈可击的。假设,当前用户环境禁用了脚本,那么他访问这个页面的时候,企业注册信息不会被隐藏,会显示在当前页面上,易用性可能有一些缺失,但是功能上是可访问可用的,整个流程是健全的。相比两种情况,我想我会选择采用方案2。当然如果你不屑可用可访问性,那就砖头砸我吧!
很多交互设计师都会想当然的认为,类似这样的应用场景受重群体是很小的,也许真实的数据会让你大吃一惊!总而言之,多为用户想想,是设计师最起码的职业道德!
可用性和可访问性的重要还能表现在很多应用上,如语音阅读器,手机浏览器等,这些在ppk谈javascript中有比较详细的描述,有兴趣的话,可以查阅《ppk谈javascript》。总而言之,语义化的页面结构在以后互联网产品的可用性和可访问性中起着非常重要的作用!
说到这里,我相信看懂的都应该明白可用性和可访问性是咋会事了,除了明白,你是不是也看到了一些问题呢?没错,绝对是有问题的,交互设计和前端开发过程中都存在的问题,专业化路线绝对不是单一的,专业化cover的度很重要!


猜你喜欢
- 前言我们知道,enigma机是德军二战中重要的情报加密机器,其有许多特点。首先,它是一台加解密一体机其次,它有排己性,虽然多次输入同一明文可
- 一.需求统计收集各个实例上table的信息,主要是表的记录数及大小。收集的范围是cmdb中所有的数据库实例。二.公共基础文件说明1.配置文件
- # -*- coding:utf-8 -*-__author__ = 'walkskyer'import osimport
- 在windows下用python脚本实现文件的备份,参考《A Byte of Python3》第十一章(Page59)。#!/usr/bin
- 1.在查询分析器理启动或停止SQL Agent服务 启动 use master go xp_cmdshell
- 我的经历前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。这个答案好像并不是他想要的。于是他继续追
- python中通过虚拟化出来一个空间,与主环境完全隔离,避免项目中对于环境要求,造成的插件版本混乱(python特别吃环境)mac 的配置前
- Example.asp<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001&qu
- 一个SELECT查询中的LIKE语句来执行这种查询,尽管这种方法可行,但对于全文查找而言,这是一种效率极端低下的方法,尤其在处理大量数据的时
- 将[]byte转成16进制import "crypto/md5"import "fmt"sign :
- 第一种方法:python操作xml文件随手找了一个xml文件内容(jenkins相关文件)<?xml version="1.
- 之前使用的python的smtplib、email模块发模块的一步步骤是:一、先导入smtplib模块 导入MIMEText库用
- requests库简介requests 库是一个常用的用于 http 请求的模块,它使用 python 语言编写,可以方便的对网页进行爬取,
- 前言:NoxfileNox 默认在一个名为noxfile.py的文件中查找配置。在运行 nox 时,你可以使用 --noxfile参数指定其
- 在上一篇Python接口自动化测试系列文章:Python接口自动化浅析requests请求封装原理,主要通过源码分析,总结出一套简洁的请求类
- 需求:在刷word题库的时候,答案就在题目下方,干扰复习效果,将答案字体变成白色,查看答案的时候只需要将答案背景刷黑转换需求:在word中找
- 1.默认已经有python环境和vscode2.pip安装PyQt5执行命令:pip install PyQt5pip install Py
- 一、文章主题在看到相关的抽奖诈骗报道,有的人却不明白是怎么回事。为了预防被抽奖诈骗,因此,我们通过一些简单的例子来说一说,抽奖更深层的逻辑,
- DbUtils是Javar的一个为简化JDBC操作类库commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对
- 代码如下:SELECT * FROM Orders WHERE OrderGUID IN('BC71D821-9E25-