Currently displaying languages in a usable way to non-JS users using responsive skins is tricky.
- On Minerva the language button links to Special:MobileLanguages - a special page provided by MobileFrontend..
- On responsive Vector the list is at the bottom of the page - so not only does the user have to scroll there but they then need to find the language they desire.
Rendering the list of languages at the bottom of the page.
Pros: 1) Easy technical solution (HTML) 2) Potential SEO benefits (difficult to measure)
Cons: 1) List of languages looks out of place and unsightly 2) Pages with lots of languages would obscure access to other elements on the page 3) May need to be hidden for JS users to provide a better experience 4) Adds unnecessary weight to the page bloating HTML size.
Move Special:MobileLanguages to core
Pros: 1) Easy technical solution (a link) 2) Code already exists 3) Performance 4) No need to worry about styling of list for JS users 5) Addressable (has own URI)
Cons: 1) Potential SEO downsides 2) not compatible with find on page for specific language name.
The parameter given to the page is the page to retrieve languages from.
I recommend we move Special:MobileLanguages to core and renaming to Special:Languages. In Vector for non-JS users we will fallback to this page.
This page renders a list of languages. While the page may be difficult to navigate I think there are possible design improvements to group elements and make use of collapsible elements that work without JS (e.g. checkbox hack) if we wish.
Thoughts? Are there any concerns with doing this?