Page MenuHomePhabricator

[timebox 4h] Research implementation for lemma h1
Closed, ResolvedPublic0 Story Points


Research task for T196228 (and T197929)

Lexeme lemmas should be used as the lexeme page title. h1 should be used to mark-up the page title. In Valid HTML mark-up an h1 tag can only contain "phrasing content".


  • reasearch way to mark-up lexeme lemmas (in read mode) in a valid way to which styles can be applied to achieve current UI
  • mend T196228 according to findings

Event Timeline

Restricted Application added a project: Wikidata. · View Herald TranscriptJul 9 2018, 9:21 AM
Pablo-WMDE renamed this task from [timebox 4h] Research alternatives for lemma h1 to [timebox 4h] Research implementation for lemma h1.Jul 9 2018, 9:22 AM
Jakob_WMDE set the point value for this task to 0.Jul 10 2018, 1:07 PM
Pablo-WMDE added a comment.EditedAug 30 2018, 2:18 PM

Status quo in production: w3c check

  • redundant h1s
    • default mediawiki one (#firstHeading) (not visible)
    • lexeme custom one
  • default mediawiki h1 gets filled with custom content by LexemeView::getTitleHtml() only for it to be hidden by CSS
    • makes the assumption that there is "main term" (which was dimissed in other places) and prints only the "first" lemma
    • fails to mark-up the lemma in it's correct language (surrounding mark-up is uselang)
    • has LexemeView has FallbackHintHtmlTermRenderer injected exclusively for rendering this (one) lemma but this
      • does not make sense as this class is dedicated to showing content in user language or falling back to a default one (like for items) - a scenario not applicable to the lexeme domain
      • fails to pass a TermFallback (instead of plain Term) to FallbackHintHtmlTermRenderer - consequently it never reaches its potential (i.e. fails to mark-up term with language).
      • tries to spell out languages for the language code but fails to do so for some valid lexeme lemma languages (e.g. en-x-Q123)
  • lexeme custom h1 contains block level elements (= T196228)

Change 456406 had a related patch set uploaded (by Pablo Grass (WMDE); owner: Pablo Grass (WMDE)):
[mediawiki/extensions/WikibaseLexeme@master] LexemeView: valid HTML for lexeme header

Change 456571 had a related patch set uploaded (by Pablo Grass (WMDE); owner: Pablo Grass (WMDE)):
[mediawiki/extensions/WikibaseLexeme@master] LexemeView: no h1 for lexeme header

Pablo-WMDE added a comment.EditedAug 31 2018, 9:27 AM

I am a strong proponent of semantic mark-up.
The suggestion is influenced, amongst others, by the following realities:

  • we are using a framework that provides a standardized spot to render a page title
  • we have a possible UI overhaul coming our way in the near future where things we actively decide to postpone now could make their way into the list of requirements
  • the violating component in question is a micro application (granted, maybe doing one too many things) in itself. Limiting its template to "phrasing content" will restrain our flexibility and not necessarily improve mark-up (which was the overall prospect of the ticket)

Suggestions (updated T196228 accordingly):

  • render all lexeme lemmas into the (hidden) default mediawiki h1, like it is done for the anchor text of LexemeIdHtmlFormatter
  • make #wb-lexeme-header-lemmas use a semantically less charged tag (e.g. div instead of h1) ->


  • no h1 content will participate in client-side editing, will only update on server-side reload -> brief inconsistency
    • already the case for the "main term" in the default mediawiki h1
    • current custom h1 is marked-up so poorly that it can hardly be considered that
    • should have very limited effect on usability of the page (the outdated content is display: none)
Pablo-WMDE removed Pablo-WMDE as the assignee of this task.Aug 31 2018, 12:22 PM

Change 456406 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] LexemeView: centralize lexeme header building

Pablo-WMDE closed this task as Resolved.Sep 5 2018, 8:43 AM

Change 456571 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] LexemeView: no h1 for lexeme header

Change 458493 had a related patch set uploaded (by Pablo Grass (WMDE); owner: Pablo Grass (WMDE)):
[mediawiki/extensions/WikibaseLexeme@master] LexemeView: no h1 for lexeme header

Change 458493 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] LexemeView: no h1 for lexeme header