Being able to play the interface in a wiki: i.e links, menus, buttons, etc. So basically everything that is not page content.
Steps:
- Check if there is any tasks about this since before
- Break it down to smaller pieces if applicable
| Viktoria_Hillerud_WMSE | |
| Jun 11 2025, 9:34 AM |
Being able to play the interface in a wiki: i.e links, menus, buttons, etc. So basically everything that is not page content.
Steps:
| Subject | Repo | Branch | Lines +/- | |
|---|---|---|---|---|
| Play interface | mediawiki/extensions/Wikispeech | master | +63 -1 |
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Open | None | T396579 ☂ Play interface | |||
| Resolved | Viktoria_Hillerud_WMSE | T401173 Breakout of SegmentFactory | |||
| Resolved | Viktoria_Hillerud_WMSE | T401183 Figure out how the player should work when playing the UI (involving project partners) | |||
| Resolved | Viktoria_Hillerud_WMSE | T402617 Figure out what UI content to read | |||
| Resolved | Viktoria_Hillerud_WMSE | T402621 Identify and bind relevant UI strings to DOM elements | |||
| Open | Viktoria_Hillerud_WMSE | T402622 Store utterances from UI content (DOM-strings) in Wikispeech segmentation storage | |||
| Invalid | None | T406820 Play UI-segments | |||
| Resolved | Viktoria_Hillerud_WMSE | T407474 Enable message-key input in listen API | |||
| Open | Viktoria_Hillerud_WMSE | T407346 Read UI content: Page toolbar | |||
| Open | None | T407348 Read UI content: Link-section | |||
| Open | None | T407347 Read UI content: Sidebar menus |
Change #1175092 had a related patch set uploaded (by Viktoria Hillerud WMSE; author: Viktoria Hillerud WMSE):
[mediawiki/extensions/Wikispeech@master] Play interface
Since we right now only have page-specific logic for segmenting a page, this would need some steps to also include being able to segment parts of the interface (skin).
My solution right now would be to:
When to read from the UI will probably be quite different compared to reading page content. We'd likely want to read something when it's focused (e.g. by tabbing around). You also want to be able to go back to listning where you were in the page, so it can't use the player.
So no player should be visible when playing the interface then? Only start to play the way we decide (e.g focused, tabbing around)
The player should till be there, but it's not used for listening to the UI. They should work in parallel, which also add extra things to figure out, like how do you make sure they don't speak at the same time.
This is just how I imagine things thinking about them now. I think this is one area where we should check with our partners before getting to far into the development.
Change #1175092 abandoned by Viktoria Hillerud WMSE:
[mediawiki/extensions/Wikispeech@master] Play interface
Reason:
Not applicable
How does this work on a consumer wiki? If we're making utterances from messages there's a risk that they are out of sync: Consumer runs MW 1.2. It creates an utterance for the button to save an edit with the label "Save". Producer runs MW 1.3, where the label has changed to "Publish". The old label will then be read. In this case you still get something, even if it's outdated. There may be situation where other things have changed like the ID or placement of an element, or even an element has been added. In those situations it may not work at all.
One simple solution would be to say that the consumer wiki has to use the same MW version as the producer. I don't think that will really work for us though since we'd have to keep pace with WP's version, which may also be different for different language versions.
At this point we may have to just make sure that other things don't break when things are out of sync and see if it causes any big issues.
What we want now, is to update the $errorMessageKeys (which should probably be renamed to just $messageKeys) array in preSynthesizeMessages.php to contain all of the decided message keys from T407346 - Page toolbar, T407348 - Link-section and T407347 - Sidebar menus.
@Sebastian_Berlin-WMSE should I perhaps create a task for this? Either in this parent task or outside?
I think it'd make sense to do that in the individual tasks. Add messages in the page toolbar in T407346 etc.