> developers needed a way to explicitly tell the browser to open the link in a new tab, free of frame semantics<p>First, it doesn't say why an underscore does that, because you could totally have underscores in frame names. My guess as others here is that the underscore prefix dates back from reserved names in C and C++. IIRC the reserved names also included "_self" (even if it was the default), "_parent" (to go up a level in the frame hierarchy) and "_top" to replace the whole page.<p>Second, at the time it was clearly not "open the link in a <i>new tab</i>" but rather in a "<i>new window</i>". IE was the most used browser back then, by a large proportion, and it didn't supports tabs at all.