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

Usabilidad y diseño para formularios

Embed Size (px)

DESCRIPTION

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

Citation preview

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]