Help:Extension:Phonos/QA
Project documentation
meta:Community_Wishlist_Survey_2022/Generate_Audio_for_IPA
Phabricator board: https://phabricator.wikimedia.org/tag/mediawiki-extensions-phonos/
Feature documentation
Usage
For all usage information, see the extension's help page.
Test documentation
Where to test it
The feature is currently available on:
- https://en.wikipedia.beta.wmflabs.org/wiki/Category:Pages_that_use_Phonos
- https://en-rtl.wikipedia.beta.wmflabs.org/wiki/Category:Pages_that_use_Phonos
- https://en.wiktionary.beta.wmflabs.org/wiki/Category:Pages_that_use_Phonos
- https://test.wikipedia.org/wiki/Category:Pages_that_use_Phonos
- https://ar.wikipedia.org/wiki/%D8%AA%D8%B5%D9%86%D9%8A%D9%81:Pages_that_use_Phonos
- https://af.wiktionary.org/wiki/Kategorie:Pages_that_use_Phonos
How to install locally
Download extension from Gerrit: Phonos Repo
See MediaWiki-Docker/Extension/Phonos.
Capabilities
- Pronounce strings written in IPA
- Pull pronunciation audio and/or IPA from wikidata
- Pull audio from Commons
Techniques we have used
Does it have full coverage of IPA?
- Extract IPA from pages like w:International_Phonetic_Alphabet
- There are some IPA characters (or encodings of IPA characters) which the Google TTS engine does not support. See phab:T313711.
- WikiEditor has a list of IPA characters (in the toolbar under "Special characters" > IPA). Do we support all of these?
- The IPA an engine supports often varies with the language
Quality of pronunciation
- We have a corpus of words for testing (Google Doc, JSON file)
- Script to extract the IPA from the JSON corpus and create a wikitext table: https://gitlab.wikimedia.org/dwalden/phonos-testing/-/blob/main/phonos_template_corpus.py
- Wikitext table of the corpus, created by above script phab:P32560
- Script to extract the IPA from the Google Doc and create a wikitext table: https://gitlab.wikimedia.org/dwalden/phonos-testing/-/blob/main/phonos_template_corpus_csv.py
- Wikitext table of the corpus, created by above script phab:P33287
- The corpus on beta: https://en.wikipedia.beta.wmflabs.org/wiki/Phonos
Wikidata
It can be hard to find Wikidata items and lexemes which contain IPA transcriptions and/or pronunciation audio. See Help:Extension:Phonos#Usage for requirements that the item/lexeme must meet to be picked up.
Example with IPA transcription: https://www.wikidata.org/wiki/Q1364834
Example with pronunciation audio: https://www.wikidata.org/wiki/Lexeme:L7993
Example with both: https://www.wikidata.org/wiki/Q32
Other examples can be found on https://en.wikipedia.beta.wmflabs.org/wiki/Phonos_Wikidata.
There are also queries you can run against https://query.wikidata.org to find Wikidata Items and Lexemes. See /Wikidata.
Validation
- Script to generate combinations of valid and invalid parameters for
<phonos>
: https://gitlab.wikimedia.org/dwalden/phonos-testing/-/blob/main/phonos_template_combinations.py - These combinations on beta: https://en.wikipedia.beta.wmflabs.org/wiki/Phonos_Combinations
Accessibility
See /Accessibility for a list of accessibility concerns we concentrated on and which may need retesting in the future (depending on changes).
Bear in mind that Browserstack allows you to use the screenreaders NVDA on Windows, VoiceOver on Mac and iOS and TalkBack on Android (although Android does not have audio).
Browser compatibility
We have found that different browsers and OSes can behave differently, not only from the UI perspective but also functionally (e.g. phab:T322368).
We have not done much mobile testing so far.
Skins
Vector 2022, Vector 2010, Minerva, MonoBook and Timeless.
Maintaining consistency of the Phonos button across skins is quite hard.
Languages
In particular, we have found UI bugs by testing in a right-to-left language (e.g. phab:T320415).
Zoom and font sizes
We have had problems when zooming in/out on the browser, changing the browser's default font, and changing the font of the wikitext.
Example bug: phab:T320820.
See also /Accessibility#Resizing_text.
VisualEditor
We have not done much testing on VisualEditor.
Other considerations
- Testing without JavaScript
- Performance and scalability (see phab:T321084)
- Cost
- Interaction with other extensions
- e.g. Extension:Popups
- Other features/extensions which show article previews/summaries
- e.g. Extension:Popups
- Usability
- Are the error messages helpful?
- Obscure things
- EBook exports
Common bugs
Test data
You will find lots of Phonos buttons we have generated as part of our testing on the various beta sites, particularly the pages in this category: https://en.wikipedia.beta.wmflabs.org/wiki/Category:Pages_that_use_Phonos.