Usabilidad y diseño para formularios

133
1 BEST PRACTICES FOR FORM DESIGN LUKE WROBLEWSKI AUTHOR, WEB FORM DESIGN 2008

description

La usabilidad de formularios en aplicaciones es algo básico para que los usuarios se sientan cómodos con tu app

Transcript of Usabilidad y diseño para formularios

Page 1: Usabilidad y diseño para formularios

1

BEST PRACTICES FOR FORM DESIGN LUKE WROBLEWSKI AUTHOR, WEB FORM DESIGN 2008

Page 2: Usabilidad y diseño para formularios

2

Luke Wroblewski Yahoo! Inc.

�• Senior Director, Product Ideation & Design

LukeW Interface Designs �• Principal & Founder �• Product design & strategy services

Author

�• Web Form Design: Filling in the Blanks (Rosenfeld Media)

�• Functioning Form: Web applications, product strategy, & interface design articles

�• Site-Seeing: A Visual Approach to Web Usability (Wiley & Sons)

Previously �• eBay Inc., Lead Designer �• University of Illinois, Instructor �• NCSA, Senior Designer

http://www.lukew.com

Page 3: Usabilidad y diseño para formularios

3

Web Form Design

• Web Form Design: Filling in the Blanks

• Rosenfeld Media, 2008

• http://www.lukew.com/resources/web_form_design.asp

• 15% OFF with Discount Code

• FOLUKE15

• http://rosenfeldmedia.com/books/webforms/

Page 4: Usabilidad y diseño para formularios

4

WHY DOES FORM DESIGN MATTER?

Page 5: Usabilidad y diseño para formularios

5

SHOPPING

http://www.flickr.com/photos/stitch/187139723/ http://www.flickr.com/photos/radiofree/150535853/

Page 6: Usabilidad y diseño para formularios

6

SHOPPING ONLINE

Page 7: Usabilidad y diseño para formularios

7

ACCESS

Images from Flickr users katielips, pealco, and *nathan

Page 8: Usabilidad y diseño para formularios

8

ACCESS ONLINE

Page 9: Usabilidad y diseño para formularios

9

DATA INPUT

Page 10: Usabilidad y diseño para formularios

10

DATA INPUT ONLINE

Page 11: Usabilidad y diseño para formularios

11

Why Forms Matter

• How customers “talk” to companies online • Commerce ($)

�• User: Enable purchasing

�• Business: Maximize sales

• Access (membership) �• User: Enable participation

�• Business: Increase customers & grow communities

• Engagment �• User: Enable information entry & manipulation

�• Business: Accumulate content & data

Page 12: Usabilidad y diseño para formularios

12

65,000 videos per day –July 2006

Page 13: Usabilidad y diseño para formularios

13

Design Principles

• Minimize the pain �• No one likes filing in forms

�• Smart defaults, inline validation, forgiving inputs

• Illuminate a path to completion

• Consider the context �• Familiar vs. foreign

�• Frequently used vs. rarely used

• Ensure consistent communication �• Errors, Help, Success

�• Single voice despite many stakeholders

Page 14: Usabilidad y diseño para formularios

14

• Repeatable design solutions to common problems

• Work “positively” for specific problems in specific contexts

• Capture best practices that solve real user needs

• Between principles & guidelines

• A design vocabulary

DESIGN PATTERNS

Page 15: Usabilidad y diseño para formularios

15

• If your goals are… , try solution…

• If your constraints are…, try solution…

“IT DEPENDS”

Page 16: Usabilidad y diseño para formularios

16

Data Sources

• Usability Testing �• Errors, issues, assists, completion rates, time spent

per task, satisfaction scores

• Field Testing �• Sources used, environment, context

• Customer Support �• Top problems, number of incidents

• Web Conventions Survey

�• Common solutions, unique approaches

• Site Tracking

�• Completion rates, entry points, exit points, elements utilized, data entered

• Eye Tracking �• Number of eye fixations, length of fixations, heat

maps, scan paths

BUSINESS OF DESIGN, EBAY INC. APRIL 2004

Page 17: Usabilidad y diseño para formularios

17

• Isolate individual best practices

• Look at simple examples of each

ONE AT A TIME

Page 18: Usabilidad y diseño para formularios

18

INFORMATION

Page 19: Usabilidad y diseño para formularios

19

Information

• Layout �• Label positioning �• Content groupings

• Input Affordances �• Formats, required fields

• Actions �• Primary & secondary

• Help & Tips • Visual Hierarchy

Page 20: Usabilidad y diseño para formularios

20

Top Aligned Labels

• When data being collected is familiar

• Minimize time to completion

• Require more vertical space

• Spacing or contrast is vital to enable efficient scanning

• Flexibility for localization and complex inputs

Page 21: Usabilidad y diseño para formularios

21

Top-aligned Labels

Page 22: Usabilidad y diseño para formularios

22

Right Aligned Labels

• Clear association between label and field

• Requires less vertical space

• More difficult to just scan labels due to left rag

• Fast completion times

Page 23: Usabilidad y diseño para formularios

23

Right-aligned labels

Page 24: Usabilidad y diseño para formularios

24

Left Aligned Labels

• When data required is unfamiliar

• Enables label scanning

• Less clear association between label and field

• Requires less vertical space

• Changing label length may impair layout

Page 25: Usabilidad y diseño para formularios

25

Left-aligned labels

Page 26: Usabilidad y diseño para formularios

26

Eye-tracking Data

• July 2006 study by Matteo Penzo

• Left-aligned labels �• Easily associated labels with the

proper input fields �• Excessive distances between

labels inputs forced users to take more time

• Right-aligned labels �• Reduced overall number of

fixations by nearly half �• Form completion times were

cut nearly in half • Top-aligned labels

�• Permitted users to capture both labels & inputs with a single eye movement’

�• Fastest completion times

Page 27: Usabilidad y diseño para formularios

27

• For reduced completion times & familiar data input: top aligned

• When vertical screen space is a constraint: right aligned

• For unfamiliar, or advanced data entry: left aligned

BEST PRACTICE

Page 28: Usabilidad y diseño para formularios

28

Required Form Fields

• Indication of required fields is most useful when �• There are lots of fields �• But very few are required �• Enables users to scan form to see

what needs to be filled in

• Indication of optional fields is most useful when �• Very few fields are optional

• Neither is realy useful when �• All fields are required

Page 29: Usabilidad y diseño para formularios

29

All fields required

Page 30: Usabilidad y diseño para formularios

30

All fields required

Page 31: Usabilidad y diseño para formularios

31

Most fields required

Page 32: Usabilidad y diseño para formularios

32

Few fields optional

Page 33: Usabilidad y diseño para formularios

33

Page 34: Usabilidad y diseño para formularios

34

Page 35: Usabilidad y diseño para formularios

35

• Try to avoid optional fields

• If most fields are required: indicate optional fields

• If most fields are optional: indicate required fields

• Text is best, but * often works for required fields

• Associate indicators with labels

BEST PRACTICE

Page 36: Usabilidad y diseño para formularios

36

Field Lengths

• Field lengths can provide valuable affordances

• Appropriate field lengths provide enough space for inputs

• Random field lengths may add visual noise to a form

Page 37: Usabilidad y diseño para formularios

37

Page 38: Usabilidad y diseño para formularios

38

Page 39: Usabilidad y diseño para formularios

39

Page 40: Usabilidad y diseño para formularios

40

• When possible, use field length as an affordance

• Otherwise consider a consistent length that provides enough room for inputs

BEST PRACTICE

Page 41: Usabilidad y diseño para formularios

41

Content Grouping

• Content relationships provide a structured way to organize a form

• Groupings provide �• A way to scan information

required at a high level �• A sense of how

information within a form is related

Page 42: Usabilidad y diseño para formularios

42

Lots of content grouping

Page 43: Usabilidad y diseño para formularios

43

Excessive visual noise

Page 44: Usabilidad y diseño para formularios

44

Minimum amount necessary

Page 45: Usabilidad y diseño para formularios

45

Page 46: Usabilidad y diseño para formularios

46

Minimum amount necessary

Page 47: Usabilidad y diseño para formularios

47

Page 48: Usabilidad y diseño para formularios

48

• Use relevant content groupings to organize forms

• Use the minimum amount of visual elements necessary to communicate useful relationships

BEST PRACTICE

Page 49: Usabilidad y diseño para formularios

49

Actions

• Not all form actions are equal �• Reset, Cancel, & Go Back are secondary actions: rarely

need to be used (if at all) �• Save, Continue, & Submit are primary actions: directly

responsible for form completion

• The visual presentation of actions should match their importance

Page 50: Usabilidad y diseño para formularios

50

Page 51: Usabilidad y diseño para formularios

51

Page 52: Usabilidad y diseño para formularios

52

Page 53: Usabilidad y diseño para formularios

53

Page 54: Usabilidad y diseño para formularios

54

Page 55: Usabilidad y diseño para formularios

55

Page 56: Usabilidad y diseño para formularios

56

• Avoid secondary actions if possible

• Otherwise, ensure a clear visual distinction between primary & secondary actions

• Align primary actions with input fields for a clear path to completion

BEST PRACTICE

Page 57: Usabilidad y diseño para formularios

57

Help & Tips

• Help & Tips are useful when: �• Asking for unfamiliar data

�• Users may question why data is being requested

�• There are recommended ways of providing data

�• Certain data requests are optional

• However, Help & Tips can quickly overwhelm a form if overused

• In these cases, you may want to consider a dynamic solution �• Automatic inline exposure

�• User activated inline exposure

�• User activated section exposure

Page 58: Usabilidad y diseño para formularios

58

Help Text

Page 59: Usabilidad y diseño para formularios

59

Lots of Help/Tips

Page 60: Usabilidad y diseño para formularios

60

Page 61: Usabilidad y diseño para formularios

61

Automatic inline exposure

Page 62: Usabilidad y diseño para formularios

62

Automatic inline exposure

Page 63: Usabilidad y diseño para formularios

63

User-activated inline exposure

Page 64: Usabilidad y diseño para formularios

64

User-activated inline exposure

Page 65: Usabilidad y diseño para formularios

65

User-activated dialog exposure

Page 66: Usabilidad y diseño para formularios

66

User-activated section exposure

Page 67: Usabilidad y diseño para formularios

67

• Minimize the amount of help & tips required to fill out a form

• Help visible and adjacent to a data request is most useful

• When lots of unfamiliar data is being requested, consider using a dynamic help system

BEST PRACTICE

Page 68: Usabilidad y diseño para formularios

68

INTERACTION

Page 69: Usabilidad y diseño para formularios

69

Interaction

• Path to Completion • “Tabbing” • Progressive Disclosure • Exposing dependencies

Page 70: Usabilidad y diseño para formularios

70

Path to Completion

• Primary goal for every form is completion

• Every input requires consideration & action �• Remove all unnecessary data requests

�• Enable flexible data input

• Provide a clear path • Enable smart defaults

Page 71: Usabilidad y diseño para formularios

71

Remove Unnecessary Inputs

Page 72: Usabilidad y diseño para formularios

72

Flexible Data Input

(555) 123-4444 555-123-4444

555 123 4444

555.123.4444

5551234444

Page 73: Usabilidad y diseño para formularios

73

Smart Defaults

Page 74: Usabilidad y diseño para formularios

74

Path to Completion

Page 75: Usabilidad y diseño para formularios

75

Clear Path to Completion

Page 76: Usabilidad y diseño para formularios

76

Path to completion

Page 77: Usabilidad y diseño para formularios

77

• Remove all unnecessary data requests

• Enable smart defaults • Employ flexible data

entry • Illuminate a clear path

to completion • For long forms, show

progress & save

BEST PRACTICE

Page 78: Usabilidad y diseño para formularios

78

Tabbing

• Many users interact with a form by “tabbing” between fields

• Proper HTML markup can ensure tabbing works as expected

• Multi-column form layouts may conflict with expected tabbing behavior

Page 79: Usabilidad y diseño para formularios

79

Page 80: Usabilidad y diseño para formularios

80

• Remember to account for tabbing behavior

• Use the tabindex attribute to control tabbing order

• Consider tabbing expectations when laying out forms

BEST PRACTICE

Page 81: Usabilidad y diseño para formularios

81

Progressive Disclosure

• Not all users require all available options all the time

• Progressive disclosure provides additional options when appropriate �• Advanced options

�• Gradual engagement

Page 82: Usabilidad y diseño para formularios

82

Exposing Options

Page 83: Usabilidad y diseño para formularios

83

Exposing Options

Page 84: Usabilidad y diseño para formularios

84

Dialog

Page 85: Usabilidad y diseño para formularios

85

Progressive Disclosure

Page 86: Usabilidad y diseño para formularios

86

Gradual Engagement

Page 87: Usabilidad y diseño para formularios

87

Page 88: Usabilidad y diseño para formularios

88

Page 89: Usabilidad y diseño para formularios

89

Page 90: Usabilidad y diseño para formularios

90

• Map progressive disclosure to prioritized user needs

• Most effective when user-initiated

• Maintain a consistent approach

BEST PRACTICE

Page 91: Usabilidad y diseño para formularios

91

Selection Dependent Inputs

• Sometimes an initial data input requires or enables additional inputs �• More options become available because of

an initial input �• Further clarification required due to initial

input

Page 92: Usabilidad y diseño para formularios

92

Selection Dependent Inputs

Page 93: Usabilidad y diseño para formularios

93

Page Level

Page 94: Usabilidad y diseño para formularios

94

Section Tabs

Page 95: Usabilidad y diseño para formularios

95

Section Finger Tabs

Page 96: Usabilidad y diseño para formularios

96

Section Selectors

Page 97: Usabilidad y diseño para formularios

97

Expose Below

Page 98: Usabilidad y diseño para formularios

98

Expose Within

Page 99: Usabilidad y diseño para formularios

99

Inactive Until Selected

Page 100: Usabilidad y diseño para formularios

100

Exposed & Grouped

Page 101: Usabilidad y diseño para formularios

101

Exposing Dependent Inputs

• Page Level �• Requires additional step

• Section Tabs �• Often go unnoticed �• Require smart defaults

• Finger Section Tabs �• Follow path to completion scan line

• Section Selectors �• Effectively Group information �• Hide some options

• Expose Below & Expose Within �• Potential for confusion

• Inactive Until Selected & Exposed within Groups �• Association between primary selection is impaired

Page 102: Usabilidad y diseño para formularios

102

Page 103: Usabilidad y diseño para formularios

103

Page 104: Usabilidad y diseño para formularios

104

• Maintain clear relationship between initial selection options

• Clearly associate additional inputs with their trigger

• Avoid “jumping” that disassociates initial selection options

BEST PRACTICE

Page 105: Usabilidad y diseño para formularios

105

FEEDBACK

Page 106: Usabilidad y diseño para formularios

106

Feedback

• Inline validation �• Assistance

• Errors �• Indication & Resolution

• Progress �• Indication

• Success �• Verification

Page 107: Usabilidad y diseño para formularios

107

Inline Validation

• Provide direct feedback as data is entered �• Validate inputs

�• Suggest valid inputs

�• Help users stay within limits

Page 108: Usabilidad y diseño para formularios

108

Password Validation

Page 109: Usabilidad y diseño para formularios

109

Unique User Name Validation

Page 110: Usabilidad y diseño para formularios

110

Valid Input Suggestions

Page 111: Usabilidad y diseño para formularios

111

Maximum Character Count

Page 112: Usabilidad y diseño para formularios

112

• Use inline validation for inputs that have potentially high error rates

• Use suggested inputs to disambiguate

• Communicate limits

BEST PRACTICE

Page 113: Usabilidad y diseño para formularios

113

Errors

• Errors are used to ensure all required data is provided and valid �• Clear labels, affordances, help/tips &

validation can help reduce errors

• But some errors may still occur

• Provide clear resolution in as few steps as possible

Page 114: Usabilidad y diseño para formularios

114

Error Messaging

Page 115: Usabilidad y diseño para formularios

115

Short Forms: too much?

Page 116: Usabilidad y diseño para formularios

116

Short Forms

Page 117: Usabilidad y diseño para formularios

117

Short Forms

Page 118: Usabilidad y diseño para formularios

118

Page 119: Usabilidad y diseño para formularios

119

• Clearly communicate an error has occurred: top placement, visual contrast

• Provide actionable remedies to correct errors

• Associate responsible fields with primary error message

• “Double” the visual language where errors have occurred

BEST PRACTICE

Page 120: Usabilidad y diseño para formularios

120

Progress

• Sometimes actions require some time to process �• Form submission

�• Data calculations

�• Uploads

• Provide feedback when an action is in progress

Page 121: Usabilidad y diseño para formularios

121

Disable Submit Button

Page 122: Usabilidad y diseño para formularios

122

• Provide indication of tasks in progress

• Disable “submit” button after user clicks it to avoid duplicate submissions

BEST PRACTICE

Page 123: Usabilidad y diseño para formularios

123

Success

• After successful form completion confirm data input in context �• On updated page

�• On revised form

• Provide feedback via �• Message (removable)

�• Animated Indicator

Page 124: Usabilidad y diseño para formularios

124

Page 125: Usabilidad y diseño para formularios

125

Page 126: Usabilidad y diseño para formularios

126

Animated Indication

Page 127: Usabilidad y diseño para formularios

127

• Clearly communicate a data submission has been successful

• Provide feedback in context of data submitted

BEST PRACTICE

Page 128: Usabilidad y diseño para formularios

128

Additional Tips

• Avoid changing inputs provided by users �• With later inputs

�• After an error has occurred

• Let users know if difficult to obtain information is required prior to sending them to a form

Page 129: Usabilidad y diseño para formularios

129

Accessibility & Mark-up

• Use <label> tags to associate labels with inputs �• Properly read by screen readers

�• Most browsers treat text with <label> tags as clickable: larger actions

• Use the tabindex attribute to provide a “tabbing” path

�• Provides control over tabbing order

�• Enables forms to be navigated by keyboard

• Consider the accesskey attribute for additional keyboard support �• Direct access to associated input fields

• Consider <fieldset> to group related form fields

Page 130: Usabilidad y diseño para formularios

130

Web Form Creation Tools

• Wufoo �• http://www.wufoo.com

• Form Assembly �• http://www.formassembly.com

• icebrrg �• http://www.icebrrg.com

Page 131: Usabilidad y diseño para formularios

131

PUTTING IT ALL TOGETHER…

Page 132: Usabilidad y diseño para formularios

132

Page 133: Usabilidad y diseño para formularios

133

For more information…

• Web Form Design: Filling in the Blanks • http://www.lukew.com/resources/

web_form_design.asp

• Functioning Form �• www.lukew.com/ff/

• Site-Seeing: A Visual Approach to Web Usability �• Wiley & Sons

• Drop me a note �• [email protected]