Page MenuHomePhabricator

Caption as link content for inline broken media
Closed, ResolvedPublic

Description

For an example, [[File:Test123123.jpg|Testing 123]]

Legacy output,

<p><a href="/index.php?title=Special:Upload&amp;wpDestFile=Test123123.jpg" class="new" title="File:Test123123.jpg">Testing 123</a>

Parsoid output,

<p><span class="mw-default-size" typeof="mw:Error mw:Image" data-mw='{"caption":"Testing 123","errors":[{"key":"apierror-filedoesnotexist","message":"This image does not exist."}]}'><a href="./Special:FilePath/Test123123.jpg"><span resource="./File:Test123123.jpg">File:Test123123.jpg</span></a></span></p>

Event Timeline

Arlolra triaged this task as Medium priority.Jan 26 2021, 10:37 PM
Arlolra moved this task from Needs Triage to Media Structure on the Parsoid board.
Arlolra added a subscriber: cscott.

WRT captions appearing in the error case:
The {MediaWiki DOM Spec](https://www.mediawiki.org/wiki/Specs/HTML/2.2.0#Images) says:

<figcaption (absent when inline)>...</figcaption>

and

The outer <figure> element needs to become a <span> element when the figure is rendered inline, since otherwise the HTML5 parser will interrupt a surrounding block context. The inner <figcaption> element is rendered as a data-mw attribute in this case (since block content in an invisible caption would otherwise break parsing).

So the issue here is a bit of ambiguity in what "when rendered inline" means, and we can be more precise about it. But probably "rendered inline" meaning "uses a span as the wrapper" and so if we decide to output the caption for broken error cases we should also change the outer wrapper from "span" to "figure". That might also cause rendering differences, but at least it would be self-consistent. Then we'd just need to clarify that media will be "rendered inline" only for non-error cases.

Change 658699 had a related patch set uploaded (by Arlolra; owner: Arlolra):
[mediawiki/core@master] [WIP] Caption as link content for inline broken media

https://gerrit.wikimedia.org/r/658699

Change 887440 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/services/parsoid@master] [WIP] Use alt as link content for broken media

https://gerrit.wikimedia.org/r/887440

Change 889655 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/extensions/VisualEditor@master] [WIP] Preserve link content for broken media

https://gerrit.wikimedia.org/r/889655

Change 658699 merged by jenkins-bot:

[mediawiki/core@master] Use alt as link content for broken media

https://gerrit.wikimedia.org/r/658699

Change 889655 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] Preserve link content for broken media

https://gerrit.wikimedia.org/r/889655

Change 887440 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Use alt as link content for broken media

https://gerrit.wikimedia.org/r/887440

Change 892515 had a related patch set uploaded (by Isabelle Hurbain-Palatin; author: Isabelle Hurbain-Palatin):

[mediawiki/vendor@master] Bump parsoid to 0.17.0-a18

https://gerrit.wikimedia.org/r/892515

Change 892515 merged by jenkins-bot:

[mediawiki/vendor@master] Bump parsoid to 0.17.0-a18

https://gerrit.wikimedia.org/r/892515