Dark patterns are design patterns that are meant to manipulate the user.
Dark patterns are not bad design - they are good design for bad reasons.
Psychological Insight | Applied Honestly (benefits users) | Applied Deceptively (benefits business) |
“We don’t read pages. We scan them” —Steve Krug | Aid rapid comprehension: ensure key content is shown in headings, subheadings (etc), using a strong visual hierarchy. | Hide key information: Bury facts within paragraphs of text, so some users will proceed without fully understanding the transaction. |
“People tend to stick to the defaults” —Jakob Nielsen | Prevent mistakes: Default to the option that’s safest for the user. In important contexts, don’t use defaults and require the user to make an explicit choice. | Benefit from mistakes: Ensure default options benefit the business, even if this means some users convert without meaning to. |
“People will do things that they see other people are doing” —Robert Cialdini | Show unedited feedback: Allow real customers to share their experiences, so they can make accurate pre-purchase evaluations. | Bury negative feedback: Hand-pick positive feedback and display it prominently. Bury negative feedback so it is hard to find. |
https://alistapart.com/article/dark-patterns-deception-vs.-honesty-in-ui-design
Dark patterns test really well.
Dark patterns could be in legacy code, they could be given to you to develop, or they could even come from you.
We will be looking at both an html linter (htmllint
) and a command line auditing tool (lighthouse
).
Build an accessible accordion and submit it as a pull request. Feel free to pair-program.