The "rel" attribute can have multiple values. It was so far essentially mono-valued (for instance, "mw:ExtLink") but, with the introduction of the "nofollow" attributes in links by the parent task, we cannot rely anymore on the fact that it's monovalued.
In particular, the following patterns should be considered carefully:
- equality comparison of the "rel" attribute with a given string (for instance, rel === 'mw:ExtLink')
- using the "rel" attribute as a single value in array matching instead of splitting it along the spaces
- regex comparison of the "rel" attribute in a way that doesn't account for multiple values
- CSS selectors that look like a[rel="..."] instead of a[rel~="..."]
- XPath selectors that look like //a[@rel="..."]
- Setting a "rel" attribute unconditionally with a single value
I've created a common task and tagged all known Parsoid clients. Feel free to create a specific subtask for your own client, if necessary.
- mobileapps (patch merged in https://gerrit.wikimedia.org/r/c/mediawiki/services/parsoid/+/804318)
- cxserver (patch merged in https://gerrit.wikimedia.org/r/c/mediawiki/services/cxserver/+/823118)
- DiscussionTools (not impacted)
- VisualEditor (patch merged at https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualEditor/+/825746)
- Flow (patch merged in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Flow/+/823597)
- Cite - (patch merged in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Cite/+/825345; technically not needed)