How to describe images in the Fediverse: Don't use the quotation marks on your keyboard in alt-text!
Don't use the quotation marks on your keyboard in alt-text!
Especially when transcribing text, it's tempting to put the transcribed text in the alt-text between quotation marks. This, of course, means the quotation marks on the keyboard way more often than not.
But these quotation marks do more harm than good.
Why they aren't even necessary
In fact, alt-text doesn't even need quotation marks. Always keep one thing in mind when writing alt-text: The main target audience of your alt-text are blind or visually-impaired people. They cannot read your alt-text. They rely on a screen reader to read your alt-text out loud to them.
Even if you think your alt-text looks better and is more readable with quotation marks, they won't notice the difference. Their screen readers simply don't read quotation marks out loud.
For this very reason, quotation marks are not recognised as standard elements in alt-text. This means that Web frontends, Fediverse frontends etc. are not required to support them. This, in turn, means that they don't necessarily support them.
How they do harm
In fact, quotation marks from the keyboard can even cause nasty malfunctions. And as they don't officially count as alt-text elements, frontend developers can hardly be blamed for not supporting someting that they don't have to support.
Hubzilla
One example is Hubzilla, the extremely powerful and versatile "social CMS" that you are reading this wiki on.
Quotation marks are generally translated into their corresponding HTML entity, ". However, if there are such quotation marks in alt-text, Hubzilla does not translate them back into actual quotation marks. They still show as """ in alt-texts on Hubzilla. And screen readers will read them out loud as "and quot".
Let's suppose this is an alt-text:
A sign that reads, "Keep out!"
Hubzilla shows it like this:
A sign that reads, "Keep out!"
A screen reader that reads the post out loud on Hubzilla's Web interface, the alt-text included, reads it as, "A sign that reads, and quot, keep out! And quot," and raise its voice at the end because the alt-text doesn't end on a full stop or comparable punctuation.
(streams), Forte
It's even worse on (streams) and Forte from the same software family as Friendica and Hubzilla.
These two use the same quotation marks as alt-text delimiters. After all, like Friendica and Hubzilla, they don't handle images as file attachments with alt-texts in separate data fields, but they embed images in-line in their posts with alt-texts integrated into the image-embedding markup code.
This means that the first quotation mark that occurs in an alt-text is taken for the quotation mark that marks the end of the alt-text. (streams)' and Forte's alt-text renderers simply stop parsing the alt-text code at that point.
Let's suppose again this is an alt-text:
A sign that reads, "Keep out!"
(streams) and Forte assume that the quotation mark that opens the sign transcript is the end of the alt-text. They show it like this:
A sign that reads, 
What to do instead
As I've said above, most of the time, you don't even need quotation marks in alt-text. They're purely decorational, and screen readers read alt-texts out loud exactly the same with and without quotation marks.
If you absolutely cannot live without quotation marks at all, you've got two options.
One is to use single quotes.
The other one, if you absolutely cannot live without double quotes, is to use typographical quotation marks, e.g. “” for English alt-texts, „“ for German alt-texts, «» for French alt-texts.
But sacrificing accessibility for the sake of your personal convenience by sticking to the quotes on your keyboard and accusing all developers of frontends that can't handle them is nothing short of blatantly ableist.