Help:Extension:Phonos/QA

Project documentation
Community_Wishlist_Survey_2022/Generate_Audio_for_IPA

Phabricator board: https://phabricator.wikimedia.org/tag/mediawiki-extensions-phonos/

Usage
For all usage information, see the extension's help page.

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

Does it have full coverage of IPA?

 * Extract IPA from pages like International_Phonetic_Alphabet
 * There are some IPA characters (or encodings of IPA characters) which the Google TTS engine does not support. See 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 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 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 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 : 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. 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. 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: T320820.

See also /Accessibility.

VisualEditor
We have not done much testing on VisualEditor.

Other considerations

 * Testing without JavaScript
 * Performance and scalability (see T321084)
 * Cost
 * Interaction with other extensions
 * e.g. Extension:Popups
 * Other features/extensions which show article previews/summaries
 * Usability
 * Are the error messages helpful?
 * Obscure things
 * EBook exports

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.

Test tools

 * https://gitlab.wikimedia.org/dwalden/phonos-testing