Lots of users across the Stack Exchange network have developed a habit of using code markup (backticks in Markdown) to give technical terms special formatting that stands out visually. This only seems to happen on sites that don't actually deal with code snippets, since "there's no other use for it."
For example:
To defeat Gannon's second form you need to use the
bow
anddark arrows
until he turns purple, then use thebombs of time
.
which renders into the HTML page* as:
To defeat Gannon's second form you need to use the <code>bow</code>
and <code>dark arrows</code> until he turns purple, then use the
<code>bombs of time</code>.
The problem with this is that code tags are semantic markup in HTML and they're rendered differently than the writer might expect in other contexts. This can result in problems like visually imparied users hearing random words spelled out while the page is rendered by their screen reading software.**
Visual users might like how it looks, but it is abusing the standard in a way that can impair other users to a lesser or greater degree. I know that we can't prevent someone new from mangling formatting, but I would like the support of experienced editors in eliminating this very common abuse of semantic markup. Bold and italics are semantic markup that mean "give this emphasis", which is correctly rendered in the way usually intended for technical terms in all contexts, so we should only ever used bold or italics for technical terms.
The example above using the better markup (if any is needed at all):
To defeat Gannon's second form you need to use the bow and dark arrows until he turns purple, then use the bombs of time.
And another example of correct semantic formatting:
The content of the leaderboard is saved to
%appdata%\awesomegame\lb.dat
every ten minutes.
Doing this requires no technical changes, only the will of the editing community here to make it standard practice.
Can we, as a community, support the correct use of semantic formatting markup on Arqade?†
* You can verify this in Firefox by highlighting the example and right clicking the selected text, and choosing View Selection Source from the context menu.
** It might seem at first glance as if this problem can be avoided by configuring the screen reader to read code tags as normal text, but then this will mangle text in code tags that is supposed to be spelled out. For a minimal example of a formatted sentence that cannot be correctly rendered by a screen reader under any configuration, consider:
Type
xyzzy
then use thebow
.
Either "xyzzy" will be incorrectly read as a word and "bow" will be read correctly, or "xyzzy" will be read spelled-out correctly and "bow" will also be spelled out incorrectly. There is no way for a screen reader to read the mind of the writer to find out what was intended, which is why code tags were invented in the first place – to tell a computer what meaning is intended. To indicate what we intend the text to mean we can leverage semantic HTML instead of fighting with it, and rewrite the sentence above to any of these:
Type
xyzzy
then use the bow.
Typexyzzy
then use the bow.
Typexyzzy
then use the bow.
† This has also been discussed on MSO: Inline Code Spans should not be used for emphasis, right?
C:\Program Files
orjava Example.java
). Is this what you were getting at?I don't see what the problem is.
<br><br>
for paragraph breaks, and don't make something an empty link just to get a pretty blue colour. HTML tags have meanings, and misusing them makes the Internet worse. Our mission is to make the Internet better.<code></code>
tags (aka, Markdown backticks) for non-code on Arqade that I'm missing?xyzzy
then use thebow
" wrong, becausexyzzy
should be spelled and "bow" should be pronounced as a word. With both in code ticks, every screen reader configuration will mangle one or the other because garbage in, garbage out. It should be "typexyzzy
then use the bow" so they can be handled differently if the user wants them handled differently.<code>
. Go nuts.