Page MenuHomePhabricator

Missing external link problem on IE6
Closed, ResolvedPublic

Description

Perhaps the PNG 24 issue again ?


Version: 1.18.x
Severity: normal

Details

Reference
bz31495
TitleReferenceAuthorSource BranchDest Branch
set users external by default, allowlist wmf & wmderepos/releng/gitlab-settings!20brennenbrennen/external-by-defaultmain
Customize query in GitLab

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:55 PM
bzimport set Reference to bz31495.

IE6 would show the icon with a gray background, so that is not the issue. What I do notice is that the 13px padding is also missing in IE6, pointing to a CSS problem.

Aren't the link icons not shown on IE6 because IE6 never supported them properly?

Looks like....

Vector has no external link icons or space for them on IE 6 in 1.16, 1.17, or 1.18.

Monobook did have external link icons on IE 6 in 1.16 and 1.17. In 1.18 there's a space but I don't see the icons.

Vector's screen.css does contain this code:

div#content a.external,
div#content a[href ^="gopher://"] {
/* @embed */
background: url(images/external-link-ltr-icon.png) center right no-repeat;
padding-right: 13px;
}

'div#content a.external' is by all intent and purpose supported by IE6, and the external link icon used to be visible in Vector in IE6.

I don't have IE with developer toolbar at hand, otherwise I could investigate why the rule is ignored (judging from the fact that the padding is also not applied).

There is a report on de.wikipedia that the external link icon is also missing in Monobook with Opera 9.10.521 on Linux i686 2.4.20-8 RedHat.

I found the cause: IE6 and 7 ignores any declaration *as a whole* when any of them contains pseudo elements or classes, in this case, a[href ^="gopher://"].

The only solution is to split them in two separate declarations.

div#content a[href ^="gopher://"] {

/* @embed */
background: url(images/external-link-ltr-icon.png) center right no-repeat;
padding-right: 13px;

}
div#content a.external {

/* @embed */
background: url(images/external-link-ltr-icon.png) center right no-repeat;
padding-right: 13px;

}

we have a css rule for gopher? seriously? can we, like, just drop that?

Good idea.

Additionally, this problem holds for *all* external link declaration in Vector, Monobook, Modern and Simple skins. They will all need to be split, and preferably moved to common.

Change 84228 had a related patch set uploaded by Bartosz Dziewoński:
Drop unnecessary CSS selectors for a.external[href^="gopher://"]

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

Change 84228 merged by jenkins-bot:
Drop unnecessary CSS selectors for a.external[href^="gopher://"]

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

The patch above should fix the issue by killing the selectors for gopher (which were pointless anyway, using the same styles as regular external links).