There are many issues where the & aren't URL encoded.
$tagAttribs['href'] = $item['links'][0]['href'];
$tagAttribs['class'] = $item['links'][0]['class'];
$tagAttribs['id'] = $item['links'][0]['single-id'];
echo Html::rawElement(
'a',
$tagAttribs,
$item['links'][0]['text']
);
There are many issues where the & aren't URL encoded.
For example, at: https://github.com/webplatform/mediawiki/blob/master/skins/WebPlatform.php#L317
Would be better to replace with something similar to: