Frontend QA Checklist

To make sure the client gets our best possible result, we should always check for flaws. This list gives an overview of all visible requirements our applications and websites should meet.

This is a work in progress. As we grow, this list will probably follow. Make sure to keep track of new additions. I hope it goes without saying that contributions are very welcome. Feel free to share your thoughts with the rest of the team.


[ ] There is a favicon

[ ] All browsers are supported

  • [ ] Works on IE11: Push history works (navigate to suburl)
  • [ ] All browsers render the same result

[ ] SEO works

  • [ ] Metadata is set for each page
  • [ ] Prerendering works

[ ] Facebook preview works


[ ] Spacing is done correctly

  • [ ] All scales responsively
  • [ ] All spacing is done with padding and margin: no <br> tags or empty elements!
  • [ ] Extra spacing is only added to bottom of elements
  • [ ] Spacing and alignment are consistent
  • [ ] Grouping is correct

[ ] Text is used correctly

  • [ ] Font usage is consistent
  • [ ] Sizes are consistent
  • [ ] Colouring is consistent
  • [ ] Text has clear hierarchy
  • [ ] Paragraphs have a good max-width
  • [ ] Size and line-height are optimized for readability
  • [ ] All text is relevant

[ ] Color is used correctly

  • [ ] Color usage is consistent
  • [ ] Hierarchy is clear
  • [ ] Pairing is correct
  • [ ] Contrast is optimized

[ ] Navigation is fluid

  • [ ] All information is accessible from the home page
  • [ ] Returning to home page is made easy
  • [ ] Menu is used correctly
  • [ ] Choices are minimized
  • [ ] Required scrolling and clicking is minimized
  • [ ] Buttons look and behave like buttons
  • [ ] Every action of the user triggers a respons

[ ] Forms are used correctly

  • [ ] Only mandatory information is being asked (unless optional fields are explicitly required by client)
  • [ ] Structure is based on human logic
  • [ ] Form is accessible with only a keyboard
  • [ ] Labels remain readable during the entire process
  • [ ] Errors are pointed out directly
  • [ ] (Mobile) Input fields get an appropriate keyboard assigned