The Mystery of the Underscore in `target='_blank'`

2025-02-24

Ever wonder why `target='_blank'` needs that underscore? Before HTML5, developers used `` to create SPA-like functionality, dividing the window into frames with unique IDs. The `target` attribute specified which frame to load a link into. `_blank` wasn't a frame name; it instructed the browser to open a new window (tabs weren't common then). The underscore denoted a special value, not a frame. While `` is deprecated, the `_blank` convention remains.

Development