Skip to content

Instantly share code, notes, and snippets.

@annevk
Last active July 27, 2017 15:02
Show Gist options
  • Save annevk/eb5614df3751743e939b0761106e6646 to your computer and use it in GitHub Desktop.
Save annevk/eb5614df3751743e939b0761106e6646 to your computer and use it in GitHub Desktop.
Navigation in HTML

The HTML Standard defines a navigate algorithm that is frought with interoperability issues. There are various endpoints that end up triggering it:

  • <iframe>
  • <a>
  • <form>
  • location.href
  • window.open()
  • ...

Although the algorithm is based on reverse engineering browsers, the browser landscape has changed and not all choices made were necessarily optimal for the current environment. Furthermore, browsers have not actively aligned with the standard and things have drifted. In order to do better we need to study the algorithm again and:

  1. Where it doesn't make sense or would be better to change, change it (a good first step here is filing an issue).
  2. Where there's no test coverage, add tests.
  3. Where browsers need to change, make sure corresponding bugs are filed on the implementation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment