Sorry, I just don’t understand what point you’re making. From the point of view of the spec, ![..]()
is an image with an image description, title, and destination. It’s not an “just an HTML image,” though of course it can be rendered as one.
Going back to the original example,
![foo [bar](/url)](/url2)
there are really three different defensible choices the spec could make:
- Allow that this is an image, and think of the
[...]
as a container for plain text, so that the image description is:foo [bar](/url)
. Renders in HTML as:
<img src="/url2" alt="foo [bar](/url)" />
. - Allow that this is an image, and think of the
[...]
as a container for formatted inlines, so that the image description is a structured object consisting of the stringfoo
followed by a link with link textbar
and destination/url
. Renders in HTML as:
<img src="/url2" alt="foo bar" />
. - Forbid links in images, so that this isn’t parsed as an image at all. Renders in HTML as:
![foo <a href="/url">bar</a>](/url2)
.
I favor 2 over 1 because of the close syntactic analogy between [...]()
and ![...]()
, and because we need to parse inline content anyway to get precedence right.
I favor 2 over 3 because there seems no good reason for disallowing image descriptions to contain links. (Surely someone who wrote example 459 would be less surprised by output 2 than output 3.)