Accessibility/Extensions: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
==Overview==
==General users (readers, editors)==


=== General users (readers, editors, reviewers) ===
=== Core functionality ===
CF = Core functionality, EF= Extended functionality, n/a= not applicable; AT=Authoring tool, Web=View mode, SD=Support docs (Helpdesk)
CF = Core functionality, EF= Extended functionality, n/a= not applicable; AT=Authoring tool, Web=View mode, SD=Support docs (Helpdesk)


Line 14: Line 14:
| style="width:220px;" | Arrays
| style="width:220px;" | Arrays
| style="width:100px;" |
| style="width:100px;" |
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|parser functions - entered as text
|parser functions - entered as text
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceAbout
| style="width:100px;" |Web
| class="col-grey-light-bg" |partially supported
|Focus does not stay in iframe after accepting privacy policy. (Ticket: [[Erm:25216|erm:25216)]]
 
Default loads a page from bluespice.com which has non-compliant content (video without captions). The default page is hard to navigate because of cookie consent menu and focusable mobile menu.
 
*Link can be deactivated in main menu for all users and can be ignored by admin users in the management menu.
*Extension can be deactivated for on-premise installations or custom content can be loaded in iframe (customer is responsible for loading accessible content).
|-
style="width:80px;"|CF
| style="width:220px;" | BlueSpiceArticleInfo
| style="width:220px;" | BlueSpiceArticleInfo
| style="width:100px;" |AT, Web, SD
| style="width:100px;" |AT, Web, SD
| class="col-grey-light-bg" |partially supported
| class="col-orange-bg" |partially supported


|
|
*Extjs: Pagination in grids not announcing button types and spinbutton value
*Extjs: Pagination in grids not announcing button types and spinbutton value
|-
|-
| style="width:80px;" | EF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceArticlePreviewCapture
| style="width:100px;" |Web,
 
SD
| class="col-grey-light-bg" |partially supported
|
*Extjs: Pagination in grids not announcing button types and spinbutton value
|-
style="width:80px;"|CF
| style="width:220px;" | BlueSpiceAuthors
| style="width:220px;" | BlueSpiceAuthors
| style="width:100px;" |Web,
| style="width:100px;" |Web,


SD
SD
| class="col-grey-light-bg" |partially supported
| class="col-orange-bg" |partially supported
|
|
*Extjs: Pagination in grids not announcing button types and spinbutton value
*Extjs: Pagination in grids not announcing button types and spinbutton value
Line 90: Line 70:


workaround: categories can also be managed directly on the category pages themselves. The parent-child relationship of categories is also always listed on the categories pages
workaround: categories can also be managed directly on the category pages themselves. The parent-child relationship of categories is also always listed on the categories pages
|-
| style="width:80px;" | EF
| style="width:220px;" | BlueSpiceChecklist
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported
|edit in source mode; output standard html list
|-
|-
| class="col-grey-light-bg" style="width:80px;" |CLDCF
| class="col-grey-light-bg" style="width:80px;" |CLDCF
Line 109: Line 83:
|allows to open a context menu that executes actions on the target page without actually going to the target page.
|allows to open a context menu that executes actions on the target page without actually going to the target page.
workaround: Simply execute the actions directly on the target page or use the "original" links in the interface
workaround: Simply execute the actions directly on the target page or use the "original" links in the interface
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceCountThings
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported
|edit in source mode; output: standard html table
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
Line 124: Line 92:
* Web: Simple links lists with accessible headings
* Web: Simple links lists with accessible headings
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceDashboards
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceEmoticons
| style="width:100px;" |AT, Web
| class="col-green-bg" |supported
|Fixed in [[erm:25160]]
|-
style="width:80px;"|CF
| style="width:220px;" | BlueSpiceExpiry
| style="width:220px;" | BlueSpiceExpiry
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-grey-light-bg" |partially supported
| class="col-orange-bg" |partially supported
|
|
*Simple dialog to add/edit expiration date
*Simple dialog to add/edit expiration date
Line 175: Line 131:


'''workaround:''' Special:Search uses standard html results table and accessible search form
'''workaround:''' Special:Search uses standard html results table and accessible search form
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceExtendedStatistics
| style="width:100px;" |Web
| class="col-red-bg" |not supported
|some stats only available as png
|-
|-
|  style="width:80px;"| CF
|  style="width:80px;"| CF
Line 199: Line 149:
| class="col-green-bg" |supported
| class="col-green-bg" |supported
|Add behavior switch in source editing mode
|Add behavior switch in source editing mode
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceInsertCategory
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|add category in wikitext
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceInsertFile
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|add image in wikitext
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceInsertLink
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|add link in wikitext
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceInsertMagic
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|add tag in wikitext
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceInterWikiLinks
| style="width:100px;" |
| class="col-red-bg" |not supported
|Web:
*ext-js pagination issues
AT: setting up interwiki links with keyboard/screenreader not supported
*ext-js pagination issues
*button labels not announced
*edit buttons in grid not selectable on focus, only on hover
|-
| style="width:80px;" | EF
| style="width:220px;" | BlueSpiceInterwikiSearch
| style="width:100px;" |
| class="col-grey-light-bg" |
|
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceMatomoConnector
| style="width:100px;" |
|
|
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
Line 272: Line 172:


Web: Assignments overview list uses extjs pagination
Web: Assignments overview list uses extjs pagination
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpicePagesVisited
| style="width:100px;" |
|
|
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
Line 284: Line 178:
| class="col-grey-light-bg" |partially supported
| class="col-grey-light-bg" |partially supported
|Page templates manager: ExtJS grid issue for screenreaders, keyboard is supported
|Page templates manager: ExtJS grid issue for screenreaders, keyboard is supported
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpicePlayer
| style="width:100px;" |
|
|
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
Line 297: Line 185:
|
|
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceQrCode
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" | BlueSpiceRating
| style="width:100px;" |
|
|
|-
style="width:80px;"|CF
| style="width:220px;" | BlueSpiceReadConfirmation
| style="width:220px;" | BlueSpiceReadConfirmation
| style="width:100px;" |Web
| style="width:100px;" |Web
|'''<span class="col-red">FAIL</span>'''  
|FAIL   
(easy fix)
(easy fix)
|wrong aria role; needs alertdialog instead of alert for checkbox to get focus [[erm:25475]]
|wrong aria role; needs alertdialog instead of alert for checkbox to get focus [[erm:25475]]
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceReaders
| style="width:220px;" | BlueSpiceReaders
| style="width:100px;" |Web
| style="width:100px;" |Web
|'''<span class="col-red">FAIL</span>'''
|FAIL
|Ext Js pagination [[erm:25470|erm:25456]]
|Ext Js pagination [[erm:25470|erm:25456]]
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceReminder
| style="width:220px;" | BlueSpiceReminder
| style="width:100px;" |Web
| style="width:100px;" |Web
|'''<span class="col-red">FAIL</span>'''
|FAIL
|overlay issues
|overlay issues
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceReview
| style="width:220px;" | BlueSpiceReview
| style="width:100px;" |Web
| style="width:100px;" |Web
|'''<span class="col-red">FAIL</span>'''
|FAIL
|overlay issues, Ext JS grid issues [[erm:25470|erm:25456]]
|overlay issues, Ext JS grid issues [[erm:25470|erm:25456]]
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceReviewExtended
| style="width:220px;" | BlueSpiceReviewExtended
| style="width:100px;" |Web
| style="width:100px;" |Web
|'''<span class="col-red">FAIL</span>'''
|FAIL
|Ext JS grid issues [[erm:25470|erm:25456]]
|Ext JS grid issues [[erm:25470|erm:25456]]
|-
|-
Line 352: Line 228:
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceSignHere
| style="width:100px;" |
|
|
|-
style="width:80px;"|CF
| style="width:220px;" | BlueSpiceSmartList
| style="width:220px;" | BlueSpiceSmartList
| style="width:100px;" |AT, Web, SD
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|tag can be added in source editing mode; Output: standard html unordered list
|tag can be added in source editing mode; Output: standard html unordered list
|-
|-
Line 456: Line 326:
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | BlueSpiceUEModuleBookPDF
| style="width:220px;" | BlueSpiceUEModuleBookPDF
| style="width:100px;" |
|
|
|-
|  style="width:80px;"|EF
| style="width:220px;" | BlueSpiceUEModuleDOCX
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 517: Line 381:
| style="width:220px;" | BlueSpiceUserSidebar
| style="width:220px;" | BlueSpiceUserSidebar
| style="width:100px;" |AT
| style="width:100px;" |AT
|'''<span class="col-red">FAIL</span>'''
|FAIL  


[[erm:25233]]
erm:25233
|edit link does not receive keyboard focus
|edit link does not receive keyboard focus
|-
|-
Line 525: Line 389:
| style="width:220px;" |BlueSpiceUserSidebar
| style="width:220px;" |BlueSpiceUserSidebar
| style="width:100px;" |Web
| style="width:100px;" |Web
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|navigation links with collapsible heading
|navigation links with collapsible heading
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |CF
| style="width:220px;" | BlueSpiceVisualDiff
| style="width:220px;" | BlueSpiceWikiExplorer
| style="width:100px;" |Web
| style="width:100px;" |Web
| class="col-orange-bg" |'''workaround'''
|FAIL
|use classic diff view
|ExtJS pagination [[erm:25470|erm:25456]]
|-
| style="width:80px;" |CF
| style="width:220px;" | Bootstrap
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported (however, individual implementations need to be tested individually)
|Interactive elements are implemented with aria-roles. High-contrast requirements and keyboard access need to be tested during implementation.
 
[https://getbootstrap.com/docs/5.0/getting-started/accessibility/ Bootstrap accessibility statement]
|-
|  style="width:80px;"|CF
| style="width:220px;" | CategoryTree
| style="width:100px;" |
|
|
|-
|  style="width:80px;"|CF
| style="width:220px;" | Cite
| style="width:100px;" |
|
|
|-
|  style="width:80px;"|CF
| style="width:220px;" | CiteThisPage
| style="width:100px;" |
|
|
|-
|  style="width:80px;"|CF
| style="width:220px;" | CodeEditor
| style="width:100px;" |
|
|
|-
|-
| style="width:80px;" |EF
| style="width:80px;"|CF
| style="width:220px;" | BlueSpiceWatchList
| style="width:220px;" | ConfirmAccount
| style="width:100px;" |
|
|
|-
|  style="width:80px;"|CF
| style="width:220px;" | ConfirmEdit
| style="width:100px;" |
| class="col-green-bg" |supported
 
1.1.1
|Note: This extension allows to user various CAPTCHA techniques. To comply, an accessible captchas (e.g. ReCaptcha or hCaptcha) would have to be implemented and techniques [https://www.w3.org/WAI/WCAG21/Techniques/general/G143.html G143] AND [https://www.w3.org/WAI/WCAG21/Techniques/general/G144.html G144] need to be applied.
|-
|  style="width:80px;"|CF
| style="width:220px;" | CookieWarning
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" | DynamicPageList3
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported
|text-based edit functionality, output formats can be created in accessible formats
|-
|  style="width:80px;"|CF
| style="width:220px;" | Echo
| style="width:100px;" |
|
|
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | EditNotify
| style="width:100px;" |
|
| class="col-grey-light-bg" |
|-
|  style="width:80px;"|CF
| style="width:220px;" | EmbedVideo
| style="width:100px;" |
|
|
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | External Data
| style="width:100px;" |
|
| class="col-grey-light-bg" |
|-
|  style="width:80px;"|CF
| style="width:220px;" | FlaggedRevs
| style="width:100px;" |
|
|
|-
|  style="width:80px;"|CF
| style="width:220px;" | FlexiSkin
| style="width:100px;" |AT
|FAIL
(easy fix)
|Small keyboard access issues [[erm:25223]]
 
No screen reader testing, since here you set the color scheme and fonts for the skin. Vision seems to be a requirement to accomplish this.
|-
|  style="width:80px;"|CF
| style="width:220px;" | Gadgets
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;" |EF
| style="width:80px;"|CF
| style="width:220px;" | BlueSpiceWebDAVClientIntegration
| style="width:220px;" | HitCounters
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;" |EF
| style="width:80px;"|CF
| style="width:220px;" | BlueSpiceWebDAVMinorSave
| style="width:220px;" | InputBox
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;" |EF
| style="width:80px;"|CF
| style="width:220px;" | BlueSpiceWhoIsOnline
| style="width:220px;" | Interwiki
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 559: Line 520:
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | BlueSpiceWikiExplorer
| style="width:220px;" | InviteSignup
| style="width:100px;" |Web
| style="width:100px;" |
|'''<span class="col-red">FAIL</span>'''
|
|ExtJS pagination [[erm:25470|erm:25456]]
|
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | Bootstrap
| style="width:220px;" | Lingo
| style="width:100px;" |AT, Web, SD
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>''' (however, individual implementations need to be tested individually)
| class="col-green-bg" |
|Interactive elements are implemented with aria-roles. High-contrast requirements and keyboard access need to be tested during implementation.
supported
 
AAA


[https://getbootstrap.com/docs/5.0/getting-started/accessibility/ Bootstrap accessibility statement]
3.1.3
|'''<span class="col-blue-dark">supported</span>''': Extension "Lingo" creates definition lists. When a word from the definition list is used on a wiki page, the definition is listed at the end of the page. ('''Note: the (through css) hidden list at the end of a page does not have a heading)'''
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | LocalisationUpdate
| style="width:100px;" |
|
| class="col-grey-light-bg" |
|-
|  style="width:80px;"|CF
| style="width:220px;" | LoginNotify
| style="width:100px;" |
|
|
|-
|  style="width:80px;"|CF
| style="width:220px;" | Math
| style="width:100px;" |AT, Web
|'''<span class="col-red">FAIL</span>'''
|'''<span class="col-red">FAIL</span>'''  is okay here, this type of image output  is simply not supported by screenreaders. ''workaround: maybe MathML-based syntax?''
|-
|  style="width:80px;"|CF
| style="width:220px;" | MediaWiki
| style="width:100px;" |
|
|
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | NativeSvgHandler
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | NSFileRepo
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | CategoryTree
| style="width:220px;" | Nuke
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 579: Line 579:
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | Cite
| style="width:220px;" | Page Forms
| style="width:100px;" |AT
| class="col-green-bg" |supported
|forms are created using wikitext
|-
|  style="width:80px;"|CF
| style="width:220px;" | Page Forms
| style="width:100px;" |Web
| class="col-red-bg" |not supported
|generated forms neither create correct tabindex nor label/field associations
|-
|  style="width:80px;"|CF
| style="width:220px;" | Page Schemas
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" | ParserFunctions
| style="width:100px;" |AT
| class="col-green-bg" |supported
|wikitext
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | ParserHooks
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | PdfHandler
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | PluggableAuth
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | CiteThisPage
| style="width:220px;" | Renameuser
| style="width:100px;" |AT
|'''<span class="col-red">FAIL</span>'''
|needs aria labels, screenreader doesn't read them out
|-
|  style="width:80px;"| CF
| style="width:220px;" | Replace Text
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 591: Line 633:
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | CodeEditor
| style="width:220px;" | RSS
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | Scribunto
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|  style="width:80px;"|CF
| style="width:220px;" | SyntaxHighlight
| style="width:100px;" |Web, SD
|'''<span class="col-red">FAIL</span>'''
|No announcement of switching to code-language, needs some aria-described-by
|-
|  style="width:80px;"|CF
| style="width:220px;" | SyntaxHighlight
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|keyboard trap in textarea Code ([https://www.mediawiki.org/w/index.php?title=Topic:Wdfwjsqfal0jeaox&topic_showPostId=wdgda0v42x2a02af see mw discussion]).
'''workaround:''' Source code editing
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | TextExtracts
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | ConfirmAccount
| style="width:220px;" | TitleBlacklist
| style="width:100px;" |AT
| class="col-green-bg" |supported
|wikitext
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | TitleKey
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|  style="width:80px;"|CF
| style="width:220px;" | TwoColConflict
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 603: Line 682:
|-
|-
|  style="width:80px;"|CF
|  style="width:80px;"|CF
| style="width:220px;" | ConfirmEdit
| style="width:220px;" | UrlGetParameters
| style="width:100px;" |AT
| class="col-green-bg" |supported
|source code editing; text-based
|-
|  style="width:80px;"|CF
| style="width:220px;" | UserFunctions
| style="width:100px;" |AT
| class="col-green-bg" |supported
|source code editing; text-based
|-
|  style="width:80px;"|CF
| style="width:220px;" | UserMerge
| style="width:100px;" |
|
|
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | Validator
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | Variables
| class="col-grey-light-bg" style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
| style="width:80px;" |CF
| style="width:220px;" |VisualEditor
| style="width:100px;" |AT
| class="col-green-bg" |supported
| |
*Recently solved tickets:
*support for High Contrast mode ([https://phabricator.wikimedia.org/T180890 T180890)]
*correct tab order (T12345)
|-
| style="width:80px;" |CF
| style="width:220px;" | Widgets
| style="width:100px;" | AT
| class="col-green-bg" |supported
|pure text-based functionality that allows inserting a widget on a page. If a website includes a particular widget, the widget itself has to be tested for WCAG.
|}
 
=== Extended functionality ===
CF = Core functionality, EF= Extended functionality, n/a= not applicable; AT=Authoring tool, Web=View mode, SD=Support docs (Helpdesk)
{| class="wikitable sortable contenttable" style="width:100%;"
! style="width:80px;" |Type
! style="width:220px;" |Name
! style="width:100px;" |Type
!WCAG
!Accessibility notes
|-
| style="width:80px;" |CF
| style="width:220px;" |Arrays
| style="width:100px;" |
| class="col-green-bg" |supported
|parser functions - entered as text
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceAbout
| style="width:100px;" |Web
| class="col-orange-bg" |partially supported
|Focus does not stay in iframe after accepting privacy policy. (Ticket: [[Erm:25216|erm:25216)]]
Default loads a page from bluespice.com which has non-compliant content (video without captions). The default page is hard to navigate because of cookie consent menu and focusable mobile menu.
 
* Link can be deactivated in main menu for all users and can be ignored by admin users in the management menu.
* Extension can be deactivated for on-premise installations or custom content can be loaded in iframe (customer is responsible for loading accessible content).
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceArticleInfo
| style="width:100px;" |AT, Web, SD
| class="col-orange-bg" |partially supported
|
* Extjs: Pagination in grids not announcing button types and spinbutton value
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceArticlePreviewCapture
| style="width:100px;" |Web,
SD
| class="col-orange-bg" |partially supported
|
* Extjs: Pagination in grids not announcing button types and spinbutton value
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceAuthors
| style="width:100px;" |Web,
SD
| class="col-orange-bg" |partially supported
|
* Extjs: Pagination in grids not announcing button types and spinbutton value
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceAvatars
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceBookshelf
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceDiscovery
| style="width:100px;" |AT, Web
| class="col-green-bg" |supported
|skip navigation, aria roles and labels for screenreaders, fully keyboard accessible
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceCategoryCheck
| style="width:100px;" |AT
| class="col-green-bg" |supported
|category announcements in save dialog (fixed in [[Erm:25232|erm:25232)]]
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceCategoryManager
| style="width:100px;" |AT, Web
| class="col-grey-light-bg" |partially supported
|supported: tabbing through tabular data
not supported:
 
* Extjs: Pagination in grids not announcing button types and spinbutton value
* parent-child relationships not announced
* actions-buttons only visible and interactive on mouse-hover
 
workaround: categories can also be managed directly on the category pages themselves. The parent-child relationship of categories is also always listed on the categories pages
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceChecklist
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported
|edit in source mode; output standard html list
|-
| style="width:80px;" |CLDCF
| style="width:220px;" |BlueSpiceCloudClient
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceContextMenu
| style="width:100px;" |Web, SD
| class="col-orange-bg" |workaround
|allows to open a context menu that executes actions on the target page without actually going to the target page.
workaround: Simply execute the actions directly on the target page or use the "original" links in the interface
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceCountThings
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported
|edit in source mode; output: standard html table
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceCustomMenu
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported
|
* AT: Authoring in Wikitext
* Web: Simple links lists with accessible headings
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceDashboards
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceEmoticons
| style="width:100px;" |AT, Web
| class="col-green-bg" |supported
|Fixed in [[erm:25160]]
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceExpiry
| style="width:100px;" |AT
| class="col-orange-bg" |partially supported
|
* Simple dialog to add/edit expiration date
* Expired articles list: extjs pagination issue
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceExpiry
| style="width:100px;" |Web, SD
| class="col-red-bg" |not supported
|page does not indicate on load that it is expired
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceExportTables
| style="width:100px;" |
| class="col-green-bg" |supported
|export menu is keyboard and screenreader accessible
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceExtendedFilelist
| style="width:100px;" |AT, Web, SD
| class="col-orange-bg" |workaround
|
* Extjs: Pagination in grids not announcing button types and spinbutton value
 
'''workaround:''' Special:Files uses standard html results table and accessible search form
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceExtendedSearch
| style="width:100px;" |Web,
SD
| class="col-orange-bg" |workaround
|Problems with grid buttons and pagination. [[Erm:25470|erm:25456]]
'''workaround:''' Special:Search uses standard html results table and accessible search form
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceExtendedStatistics
| style="width:100px;" |Web
| class="col-red-bg" |not supported
|some stats only available as png
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceFilterableTables
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported
|Only needs filterable style attribute in wikitext. Fully screenreader accessible when inserted on a wiki page. Does not use extjs pagination.
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceFilterSpecialPages
| style="width:100px;" |Web, SD
| class="col-green-bg" |supported
|Form field gets focus and it is easy to tab to the filtered links
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceHideTitle
| style="width:100px;" |AT
| class="col-green-bg" |supported
|Add behavior switch in source editing mode
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceInsertCategory
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|add category in wikitext
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceInsertFile
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|add image in wikitext
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceInsertLink
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|add link in wikitext
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceInsertMagic
| style="width:100px;" |AT
| class="col-orange-bg" |workaround
|add tag in wikitext
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceInterWikiLinks
| style="width:100px;" |
| class="col-red-bg" |not supported
|Web:
 
* ext-js pagination issues
 
AT: setting up interwiki links with keyboard/screenreader not supported
 
* ext-js pagination issues
* button labels not announced
* edit buttons in grid not selectable on focus, only on hover
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceInterwikiSearch
| style="width:100px;" |
| class="col-grey-light-bg" |
|
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceMatomoConnector
| style="width:100px;" |
| style="width:100px;" |
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceMultiUpload
| style="width:100px;" |AT
| class="col-green-bg" |supported
|workflow from clicking upload link to uploading files with the upload dialog work in screenreader
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpicePageAccess
| style="width:100px;" |AT
| class="col-green-bg" |supported
|tag can be added in source editing mode
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpicePageAssignments
| style="width:100px;" |AT, Web
| class="col-grey-light-bg" |partially supported
|Supported:
AT: Assignments can be added/edited on a wiki page
 
Not supported:


Web: Assignments overview list uses extjs pagination
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpicePagesVisited
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpicePageTemplates
| style="width:100px;" |AT
| class="col-grey-light-bg" |partially supported
|Page templates manager: ExtJS grid issue for screenreaders, keyboard is supported
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpicePlayer
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpicePrivacy
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceQrCode
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceRating
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceReadConfirmation
| style="width:100px;" |Web
|FAIL
(easy fix)
|wrong aria role; needs alertdialog instead of alert for checkbox to get focus [[erm:25475]]
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceReaders
| style="width:100px;" |Web
|FAIL
|Ext Js pagination [[Erm:25470|erm:25456]]
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceReminder
| style="width:100px;" |Web
|FAIL
|overlay issues
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceReview
| style="width:100px;" |Web
|FAIL
|overlay issues, Ext JS grid issues [[Erm:25470|erm:25456]]
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceReviewExtended
| style="width:100px;" |Web
|FAIL
|Ext JS grid issues [[Erm:25470|erm:25456]]
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceRSSFeeder
| style="width:100px;" |
|
|
|-
| style="width:80px;" |n/a
| style="width:220px;" |BlueSpiceSaferEdit
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceSignHere
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSmartList
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported
|tag can be added in source editing mode; Output: standard html unordered list
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocial
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialArticleActions
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialBlog
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialComments
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialMicroBlog
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialProfile
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialRating
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialResolve
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialTags
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialTimelineUpdate
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialTopics
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialWatch
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceSocialWikiPage
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceTagCloud
| style="width:100px;" |
|'''<span class="col-blue-dark ve-pasteProtect">supported</span>'''
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceTagSearch
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUEModuleBookPDF
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceUEModuleDOCX
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUEModuleHTML
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUEModulePDF
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUEModulePDFRecursive
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUEModulePDFSubpages
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUEModuleTable2Excel
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUniversalExport
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUsageTracker
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUserInfo
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUserSidebar
| style="width:100px;" |AT
|FAIL
erm:25233
|edit link does not receive keyboard focus
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceUserSidebar
| style="width:100px;" |Web
| class="col-green-bg" |supported
|navigation links with collapsible heading
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceWatchList
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceWebDAVClientIntegration
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceWebDAVMinorSave
| style="width:100px;" |
|
|
|-
| style="width:80px;" |EF
| style="width:220px;" |BlueSpiceWhoIsOnline
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |BlueSpiceWikiExplorer
| style="width:100px;" |Web
|FAIL
|ExtJS pagination [[Erm:25470|erm:25456]]
|-
| style="width:80px;" |CF
| style="width:220px;" |Bootstrap
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |supported (however, individual implementations need to be tested individually)
|Interactive elements are implemented with aria-roles. High-contrast requirements and keyboard access need to be tested during implementation.
[https://getbootstrap.com/docs/5.0/getting-started/accessibility/ Bootstrap accessibility statement]
|-
| style="width:80px;" |CF
| style="width:220px;" |CategoryTree
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |Cite
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |CiteThisPage
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |CodeEditor
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |ConfirmAccount
| style="width:100px;" |
|
|
|-
| style="width:80px;" |CF
| style="width:220px;" |ConfirmEdit
| style="width:100px;" |
| class="col-green-bg" |supported
1.1.1
1.1.1
|Note: This extension allows to user various CAPTCHA techniques. To comply, an accessible captchas (e.g. ReCaptcha or hCaptcha) would have to be implemented and techniques [https://www.w3.org/WAI/WCAG21/Techniques/general/G143.html G143] AND [https://www.w3.org/WAI/WCAG21/Techniques/general/G144.html G144] need to be applied.
|Note: This extension allows to user various CAPTCHA techniques. To comply, an accessible captchas (e.g. ReCaptcha or hCaptcha) would have to be implemented and techniques [https://www.w3.org/WAI/WCAG21/Techniques/general/G143.html G143] AND [https://www.w3.org/WAI/WCAG21/Techniques/general/G144.html G144] need to be applied.
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | ContentTransfer
| style="width:220px;" |ContentTransfer
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | CookieWarning
| style="width:220px;" |CookieWarning
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 623: Line 1,332:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | DrawioEditor
| style="width:220px;" |DrawioEditor
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 629: Line 1,338:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Duplicator
| style="width:220px;" |Duplicator
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | DynamicPageList3
| style="width:220px;" |DynamicPageList3
| style="width:100px;" |AT, Web, SD
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|text-based edit functionality, output formats can be created in accessible formats
|text-based edit functionality, output formats can be created in accessible formats
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Echo
| style="width:220px;" |Echo
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | EditNotify
| style="width:220px;" |EditNotify
| style="width:100px;" |
| style="width:100px;" |
|
|
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | EmbedVideo
| style="width:220px;" |EmbedVideo
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | External Data
| style="width:220px;" |External Data
| style="width:100px;" |
| style="width:100px;" |
|
|
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | FlaggedRevs
| style="width:220px;" |FlaggedRevs
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | FlexiSkin
| style="width:220px;" |FlexiSkin
| style="width:100px;" |AT
| style="width:100px;" |AT
|'''FAIL'''
|FAIL
(easy fix)
(easy fix)
|Small keyboard access issues [[erm:25223]]
|Small keyboard access issues [[erm:25223]]
No screen reader testing, since here you set the color scheme and fonts for the skin. Vision seems to be a requirement to accomplish this.
No screen reader testing, since here you set the color scheme and fonts for the skin. Vision seems to be a requirement to accomplish this.
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Gadgets
| style="width:220px;" |Gadgets
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 686: Line 1,394:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Header Tabs
| style="width:220px;" |Header Tabs
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | HitCounters
| style="width:220px;" |HitCounters
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 698: Line 1,406:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | ImageMap
| style="width:220px;" |ImageMap
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 704: Line 1,412:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | ImageMapEdit
| style="width:220px;" |ImageMapEdit
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | InputBox
| style="width:220px;" |InputBox
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 716: Line 1,424:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | InsertTemplate
| style="width:220px;" |InsertTemplate
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Interwiki
| style="width:220px;" |Interwiki
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | InviteSignup
| style="width:220px;" |InviteSignup
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 734: Line 1,442:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | LatexRenderer
| style="width:220px;" |LatexRenderer
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Lingo
| style="width:220px;" |Lingo
| style="width:100px;" |AT, Web, SD
| style="width:100px;" |AT, Web, SD
| class="col-green-bg" |
| class="col-green-bg" |supported
supported


AAA
AAA


3.1.3
3.1.3
|'''<span class="col-blue-dark">supported</span>''': Extension "Lingo" creates definition lists. When a word from the definition list is used on a wiki page, the definition is listed at the end of the page. ('''Note: the (through css) hidden list at the end of a page does not have a heading)'''
|'''<span class="col-blue-dark ve-pasteProtect">supported</span>''': Extension "Lingo" creates definition lists. When a word from the definition list is used on a wiki page, the definition is listed at the end of the page. ('''Note: the (through css) hidden list at the end of a page does not have a heading)'''
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | LocalisationUpdate
| style="width:220px;" |LocalisationUpdate
| style="width:100px;" |
| style="width:100px;" |
|
|
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | LoginNotify
| style="width:220px;" |LoginNotify
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 763: Line 1,470:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Maps
| style="width:220px;" |Maps
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Math
| style="width:220px;" |Math
| style="width:100px;" |AT, Web
| style="width:100px;" |AT, Web
|'''<span class="col-red">FAIL</span>'''
|'''<span class="col-red ve-pasteProtect">FAIL</span>'''
|'''<span class="col-red">FAIL</span>'''  is okay here, this type of image output  is simply not supported by screenreaders. ''workaround: maybe MathML-based syntax?''
|'''<span class="col-red ve-pasteProtect">FAIL</span>'''  is okay here, this type of image output  is simply not supported by screenreaders. ''workaround: maybe MathML-based syntax?''
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | MediaWiki
| style="width:220px;" |MediaWiki
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 781: Line 1,488:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | MergeArticles
| style="width:220px;" |MergeArticles
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 787: Line 1,494:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | MultimediaViewer
| style="width:220px;" |MultimediaViewer
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | NativeSvgHandler
| style="width:220px;" |NativeSvgHandler
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | NSFileRepo
| style="width:220px;" |NSFileRepo
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Nuke
| style="width:220px;" |Nuke
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Page Forms
| style="width:220px;" |Page Forms
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-green-bg" |supported
| class="col-green-bg" |supported
|forms are created using wikitext
|forms are created using wikitext
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Page Forms
| style="width:220px;" |Page Forms
| style="width:100px;" |Web
| style="width:100px;" |Web
| class="col-red-bg" |not supported
| class="col-red-bg" |not supported
|generated forms neither create correct tabindex nor label/field associations
|generated forms neither create correct tabindex nor label/field associations
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Page Schemas
| style="width:220px;" |Page Schemas
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 829: Line 1,536:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | PageImages
| style="width:220px;" |PageImages
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | ParserFunctions
| style="width:220px;" |ParserFunctions
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|wikitext
|wikitext
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | ParserHooks
| style="width:220px;" |ParserHooks
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | PdfHandler
| style="width:220px;" |PdfHandler
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | PluggableAuth
| style="width:220px;" |PluggableAuth
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Poem
| style="width:220px;" |Poem
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|tag is added in source view. Only applies some text indent and line breaks in the background. Produces standard html
|tag is added in source view. Only applies some text indent and line breaks in the background. Produces standard html
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Popups
| style="width:220px;" |Popups
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 871: Line 1,578:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Quiz
| style="width:220px;" |Quiz
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Renameuser
| style="width:220px;" |Renameuser
| style="width:100px;" |AT
| style="width:100px;" |AT
|'''<span class="col-red">FAIL</span>'''
|'''<span class="col-red ve-pasteProtect">FAIL</span>'''
|needs aria labels, screenreader doesn't read them out
|needs aria labels, screenreader doesn't read them out
|-
|-
| style="width:80px;"| CF
| style="width:80px;" |CF
| style="width:220px;" | Replace Text
| style="width:220px;" |Replace Text
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | RSS
| style="width:220px;" |RSS
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | Scribunto
| style="width:220px;" |Scribunto
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Semantic Compound Queries
| style="width:220px;" |Semantic Compound Queries
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 907: Line 1,614:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Semantic Extra Special Properties
| style="width:220px;" |Semantic Extra Special Properties
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 913: Line 1,620:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Semantic Internal Objects
| style="width:220px;" |Semantic Internal Objects
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 919: Line 1,626:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Semantic MediaWiki
| style="width:220px;" |Semantic MediaWiki
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 925: Line 1,632:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Semantic Result Formats
| style="width:220px;" |Semantic Result Formats
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 931: Line 1,638:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | Semantic Scribunto
| style="width:220px;" |Semantic Scribunto
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | SyntaxHighlight
| style="width:220px;" |SyntaxHighlight
| style="width:100px;" |Web, SD
| style="width:100px;" |Web, SD
|'''<span class="col-red">FAIL</span>'''
|'''<span class="col-red ve-pasteProtect">FAIL</span>'''
|No announcement of switching to code-language, needs some aria-described-by
|No announcement of switching to code-language, needs some aria-described-by
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | SyntaxHighlight
| style="width:220px;" |SyntaxHighlight
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-orange-bg" |'''workaround'''
| class="col-orange-bg" |workaround
|keyboard trap in textarea Code ([https://www.mediawiki.org/w/index.php?title=Topic:Wdfwjsqfal0jeaox&topic_showPostId=wdgda0v42x2a02af see mw discussion]).
|keyboard trap in textarea Code ([https://www.mediawiki.org/w/index.php?title=Topic:Wdfwjsqfal0jeaox&topic_showPostId=wdgda0v42x2a02af see mw discussion]).
'''workaround:''' Source code editing
'''workaround:''' Source code editing
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | TemplateData
| style="width:220px;" |TemplateData
| style="width:100px;" |
| style="width:100px;" |
|
|
Line 956: Line 1,663:
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | TemplateStyles
| style="width:220px;" |TemplateStyles
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | TextExtracts
| style="width:220px;" |TextExtracts
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | TitleBlacklist
| style="width:220px;" |TitleBlacklist
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|wikitext
|wikitext
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | TitleKey
| style="width:220px;" |TitleKey
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | TwoColConflict
| style="width:220px;" |TwoColConflict
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | UrlGetParameters
| style="width:220px;" |UrlGetParameters
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|source code editing; text-based
|source code editing; text-based
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | UserFunctions
| style="width:220px;" |UserFunctions
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
| class="col-green-bg" |supported
|source code editing; text-based
|source code editing; text-based
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | UserMerge
| style="width:220px;" |UserMerge
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | Validator
| style="width:220px;" |Validator
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
|-
|-
| class="col-grey-light-bg" style="width:80px;" |n/a
| style="width:80px;" |n/a
| style="width:220px;" class="col-grey-light-bg" | Variables
| style="width:220px;" |Variables
| class="col-grey-light-bg" style="width:100px;" |
| style="width:100px;" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
| class="col-grey-light-bg" |
Line 1,018: Line 1,725:
| style="width:220px;" |VisualEditor
| style="width:220px;" |VisualEditor
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-orange-bg" |AT:
| class="col-green-bg" |supported
partially supported
|
| |Partially supported
* Recently solved tickets:
 
* support for High Contrast mode ([https://phabricator.wikimedia.org/T180890 T180890)]
*lacks keyboard access
* correct tab order (T12345)
*icons not visible in Windows High Contrast mode ([https://phabricator.wikimedia.org/T244424 T244424]) -> [[Technik/Accessibility/Extensions#VisualEditor|See workarounds]]
|-
|-
| style="width:80px;" |EF
| style="width:80px;" |EF
| style="width:220px;" | WebDAV
| style="width:220px;" |WebDAV
| style="width:100px;" |
| style="width:100px;" |
|
|
|
|
|-
|-
| style="width:80px;"|CF
| style="width:80px;" |CF
| style="width:220px;" | Widgets
| style="width:220px;" |Widgets
| style="width:100px;" | AT
| class="col-green-bg" |'''<span class="col-blue-dark">supported</span>'''
|pure text-based functionality that allows insering a widget on a page. If a website includes a particular widget, the widget itself has to be tested for WCAG.
|-
|  style="width:80px;"|CF
| style="width:220px;" | WikiEditor
| style="width:100px;" |AT
| style="width:100px;" |AT
| class="col-orange-bg" |'''<span class="col-blue-dark">supported</span>''' (partial)
| class="col-green-bg" |supported
|Generally same as VE.
|pure text-based functionality that allows inserting a widget on a page. If a website includes a particular widget, the widget itself has to be tested for WCAG.
|}
 
 


(Difference to VE in screen reader mode: it reads "blank" for empty lines - VE reads "graphic")
|}


===Adthumbstrative users===
===Administrative users===
{| class="wikitable sortable contenttable" style="width:100%;"
{| class="wikitable sortable contenttable" style="width:100%;"
!Type
!Type

Revision as of 10:29, 3 August 2022

General users (readers, editors)

Core functionality

CF = Core functionality, EF= Extended functionality, n/a= not applicable; AT=Authoring tool, Web=View mode, SD=Support docs (Helpdesk)

Type Name Type WCAG Accessibility notes
CF Arrays supported parser functions - entered as text
CF BlueSpiceArticleInfo AT, Web, SD partially supported
  • Extjs: Pagination in grids not announcing button types and spinbutton value
CF BlueSpiceAuthors Web,

SD

partially supported
  • Extjs: Pagination in grids not announcing button types and spinbutton value
CF BlueSpiceAvatars
CF BlueSpiceBookshelf
CF BlueSpiceDiscovery AT, Web supported skip navigation, aria roles and labels for screenreaders, fully keyboard accessible
CF BlueSpiceCategoryCheck AT supported category announcements in save dialog (fixed in erm:25232)
CF BlueSpiceCategoryManager AT, Web partially supported supported: tabbing through tabular data

not supported:

  • Extjs: Pagination in grids not announcing button types and spinbutton value
  • parent-child relationships not announced
  • actions-buttons only visible and interactive on mouse-hover

workaround: categories can also be managed directly on the category pages themselves. The parent-child relationship of categories is also always listed on the categories pages

CLDCF BlueSpiceCloudClient
CF BlueSpiceContextMenu Web, SD workaround allows to open a context menu that executes actions on the target page without actually going to the target page.

workaround: Simply execute the actions directly on the target page or use the "original" links in the interface

CF BlueSpiceCustomMenu AT, Web, SD supported
  • AT: Authoring in Wikitext
  • Web: Simple links lists with accessible headings
CF BlueSpiceExpiry AT partially supported
  • Simple dialog to add/edit expiration date
  • Expired articles list: extjs pagination issue
CF BlueSpiceExpiry Web, SD not supported page does not indicate on load that it is expired
CF BlueSpiceExportTables supported export menu is keyboard and screenreader accessible
CF BlueSpiceExtendedFilelist AT, Web, SD workaround
  • Extjs: Pagination in grids not announcing button types and spinbutton value

workaround: Special:Files uses standard html results table and accessible search form

CF BlueSpiceExtendedSearch Web,

SD

workaround Problems with grid buttons and pagination. erm:25456

workaround: Special:Search uses standard html results table and accessible search form

CF BlueSpiceFilterableTables AT, Web, SD supported Only needs filterable style attribute in wikitext. Fully screenreader accessible when inserted on a wiki page. Does not use extjs pagination.
CF BlueSpiceFilterSpecialPages Web, SD supported Form field gets focus and it is easy to tab to the filtered links
CF BlueSpiceHideTitle AT supported Add behavior switch in source editing mode
CF BlueSpiceMultiUpload AT supported workflow from clicking upload link to uploading files with the upload dialog work in screenreader
CF BlueSpicePageAccess AT supported tag can be added in source editing mode
CF BlueSpicePageAssignments AT, Web partially supported Supported:

AT: Assignments can be added/edited on a wiki page

Not supported:

Web: Assignments overview list uses extjs pagination

CF BlueSpicePageTemplates AT partially supported Page templates manager: ExtJS grid issue for screenreaders, keyboard is supported
CF BlueSpicePrivacy
CF BlueSpiceReadConfirmation Web FAIL

(easy fix)

wrong aria role; needs alertdialog instead of alert for checkbox to get focus erm:25475
CF BlueSpiceReaders Web FAIL Ext Js pagination erm:25456
CF BlueSpiceReminder Web FAIL overlay issues
CF BlueSpiceReview Web FAIL overlay issues, Ext JS grid issues erm:25456
CF BlueSpiceReviewExtended Web FAIL Ext JS grid issues erm:25456
CF BlueSpiceRSSFeeder
n/a BlueSpiceSaferEdit
CF BlueSpiceSmartList AT, Web, SD supported tag can be added in source editing mode; Output: standard html unordered list
CF BlueSpiceSocial
CF BlueSpiceSocialArticleActions
CF BlueSpiceSocialBlog
CF BlueSpiceSocialComments
CF BlueSpiceSocialMicroBlog
CF BlueSpiceSocialProfile
CF BlueSpiceSocialRating
CF BlueSpiceSocialResolve
CF BlueSpiceSocialTags
CF BlueSpiceSocialTimelineUpdate
CF BlueSpiceSocialTopics
CF BlueSpiceSocialWatch
CF BlueSpiceSocialWikiPage
CF BlueSpiceTagCloud supported
CF BlueSpiceTagSearch
CF BlueSpiceUEModuleBookPDF
CF BlueSpiceUEModuleHTML
CF BlueSpiceUEModulePDF
CF BlueSpiceUEModulePDFRecursive
CF BlueSpiceUEModulePDFSubpages
CF BlueSpiceUEModuleTable2Excel
CF BlueSpiceUniversalExport
CF BlueSpiceUsageTracker
CF BlueSpiceUserInfo
CF BlueSpiceUserSidebar AT FAIL

erm:25233

edit link does not receive keyboard focus
CF BlueSpiceUserSidebar Web supported navigation links with collapsible heading
CF BlueSpiceWikiExplorer Web FAIL ExtJS pagination erm:25456
CF Bootstrap AT, Web, SD supported (however, individual implementations need to be tested individually) Interactive elements are implemented with aria-roles. High-contrast requirements and keyboard access need to be tested during implementation.

Bootstrap accessibility statement

CF CategoryTree
CF Cite
CF CiteThisPage
CF CodeEditor
CF ConfirmAccount
CF ConfirmEdit supported

1.1.1

Note: This extension allows to user various CAPTCHA techniques. To comply, an accessible captchas (e.g. ReCaptcha or hCaptcha) would have to be implemented and techniques G143 AND G144 need to be applied.
CF CookieWarning
CF DynamicPageList3 AT, Web, SD supported text-based edit functionality, output formats can be created in accessible formats
CF Echo
n/a EditNotify
CF EmbedVideo
n/a External Data
CF FlaggedRevs
CF FlexiSkin AT FAIL

(easy fix)

Small keyboard access issues erm:25223

No screen reader testing, since here you set the color scheme and fonts for the skin. Vision seems to be a requirement to accomplish this.

CF Gadgets
CF HitCounters
CF InputBox
CF Interwiki
CF InviteSignup
CF Lingo AT, Web, SD

supported

AAA

3.1.3

supported: Extension "Lingo" creates definition lists. When a word from the definition list is used on a wiki page, the definition is listed at the end of the page. (Note: the (through css) hidden list at the end of a page does not have a heading)
n/a LocalisationUpdate
CF LoginNotify
CF Math AT, Web FAIL FAIL is okay here, this type of image output is simply not supported by screenreaders. workaround: maybe MathML-based syntax?
CF MediaWiki
n/a NativeSvgHandler
n/a NSFileRepo
CF Nuke
CF Page Forms AT supported forms are created using wikitext
CF Page Forms Web not supported generated forms neither create correct tabindex nor label/field associations
CF Page Schemas
CF ParserFunctions AT supported wikitext
n/a ParserHooks
n/a PdfHandler
n/a PluggableAuth
CF Renameuser AT FAIL needs aria labels, screenreader doesn't read them out
CF Replace Text
CF RSS
n/a Scribunto
CF SyntaxHighlight Web, SD FAIL No announcement of switching to code-language, needs some aria-described-by
CF SyntaxHighlight AT workaround keyboard trap in textarea Code (see mw discussion).

workaround: Source code editing

n/a TextExtracts
CF TitleBlacklist AT supported wikitext
n/a TitleKey
CF TwoColConflict
CF UrlGetParameters AT supported source code editing; text-based
CF UserFunctions AT supported source code editing; text-based
CF UserMerge
n/a Validator
n/a Variables
CF VisualEditor AT supported
  • Recently solved tickets:
  • support for High Contrast mode (T180890)
  • correct tab order (T12345)
CF Widgets AT supported pure text-based functionality that allows inserting a widget on a page. If a website includes a particular widget, the widget itself has to be tested for WCAG.

Extended functionality

CF = Core functionality, EF= Extended functionality, n/a= not applicable; AT=Authoring tool, Web=View mode, SD=Support docs (Helpdesk)

Type Name Type WCAG Accessibility notes
CF Arrays supported parser functions - entered as text
EF BlueSpiceAbout Web partially supported Focus does not stay in iframe after accepting privacy policy. (Ticket: erm:25216)

Default loads a page from bluespice.com which has non-compliant content (video without captions). The default page is hard to navigate because of cookie consent menu and focusable mobile menu.

  • Link can be deactivated in main menu for all users and can be ignored by admin users in the management menu.
  • Extension can be deactivated for on-premise installations or custom content can be loaded in iframe (customer is responsible for loading accessible content).
CF BlueSpiceArticleInfo AT, Web, SD partially supported
  • Extjs: Pagination in grids not announcing button types and spinbutton value
EF BlueSpiceArticlePreviewCapture Web,

SD

partially supported
  • Extjs: Pagination in grids not announcing button types and spinbutton value
CF BlueSpiceAuthors Web,

SD

partially supported
  • Extjs: Pagination in grids not announcing button types and spinbutton value
CF BlueSpiceAvatars
CF BlueSpiceBookshelf
CF BlueSpiceDiscovery AT, Web supported skip navigation, aria roles and labels for screenreaders, fully keyboard accessible
CF BlueSpiceCategoryCheck AT supported category announcements in save dialog (fixed in erm:25232)
CF BlueSpiceCategoryManager AT, Web partially supported supported: tabbing through tabular data

not supported:

  • Extjs: Pagination in grids not announcing button types and spinbutton value
  • parent-child relationships not announced
  • actions-buttons only visible and interactive on mouse-hover

workaround: categories can also be managed directly on the category pages themselves. The parent-child relationship of categories is also always listed on the categories pages

EF BlueSpiceChecklist AT, Web, SD supported edit in source mode; output standard html list
CLDCF BlueSpiceCloudClient
CF BlueSpiceContextMenu Web, SD workaround allows to open a context menu that executes actions on the target page without actually going to the target page.

workaround: Simply execute the actions directly on the target page or use the "original" links in the interface

EF BlueSpiceCountThings AT, Web, SD supported edit in source mode; output: standard html table
CF BlueSpiceCustomMenu AT, Web, SD supported
  • AT: Authoring in Wikitext
  • Web: Simple links lists with accessible headings
EF BlueSpiceDashboards
EF BlueSpiceEmoticons AT, Web supported Fixed in erm:25160
CF BlueSpiceExpiry AT partially supported
  • Simple dialog to add/edit expiration date
  • Expired articles list: extjs pagination issue
CF BlueSpiceExpiry Web, SD not supported page does not indicate on load that it is expired
CF BlueSpiceExportTables supported export menu is keyboard and screenreader accessible
CF BlueSpiceExtendedFilelist AT, Web, SD workaround
  • Extjs: Pagination in grids not announcing button types and spinbutton value

workaround: Special:Files uses standard html results table and accessible search form

CF BlueSpiceExtendedSearch Web,

SD

workaround Problems with grid buttons and pagination. erm:25456

workaround: Special:Search uses standard html results table and accessible search form

EF BlueSpiceExtendedStatistics Web not supported some stats only available as png
CF BlueSpiceFilterableTables AT, Web, SD supported Only needs filterable style attribute in wikitext. Fully screenreader accessible when inserted on a wiki page. Does not use extjs pagination.
CF BlueSpiceFilterSpecialPages Web, SD supported Form field gets focus and it is easy to tab to the filtered links
CF BlueSpiceHideTitle AT supported Add behavior switch in source editing mode
EF BlueSpiceInsertCategory AT workaround add category in wikitext
EF BlueSpiceInsertFile AT workaround add image in wikitext
EF BlueSpiceInsertLink AT workaround add link in wikitext
EF BlueSpiceInsertMagic AT workaround add tag in wikitext
EF BlueSpiceInterWikiLinks not supported Web:
  • ext-js pagination issues

AT: setting up interwiki links with keyboard/screenreader not supported

  • ext-js pagination issues
  • button labels not announced
  • edit buttons in grid not selectable on focus, only on hover
EF BlueSpiceInterwikiSearch
EF BlueSpiceMatomoConnector
CF BlueSpiceMultiUpload AT supported workflow from clicking upload link to uploading files with the upload dialog work in screenreader
CF BlueSpicePageAccess AT supported tag can be added in source editing mode
CF BlueSpicePageAssignments AT, Web partially supported Supported:

AT: Assignments can be added/edited on a wiki page

Not supported:

Web: Assignments overview list uses extjs pagination

EF BlueSpicePagesVisited
CF BlueSpicePageTemplates AT partially supported Page templates manager: ExtJS grid issue for screenreaders, keyboard is supported
EF BlueSpicePlayer
CF BlueSpicePrivacy
EF BlueSpiceQrCode
EF BlueSpiceRating
CF BlueSpiceReadConfirmation Web FAIL

(easy fix)

wrong aria role; needs alertdialog instead of alert for checkbox to get focus erm:25475
CF BlueSpiceReaders Web FAIL Ext Js pagination erm:25456
CF BlueSpiceReminder Web FAIL overlay issues
CF BlueSpiceReview Web FAIL overlay issues, Ext JS grid issues erm:25456
CF BlueSpiceReviewExtended Web FAIL Ext JS grid issues erm:25456
CF BlueSpiceRSSFeeder
n/a BlueSpiceSaferEdit
EF BlueSpiceSignHere
CF BlueSpiceSmartList AT, Web, SD supported tag can be added in source editing mode; Output: standard html unordered list
CF BlueSpiceSocial
CF BlueSpiceSocialArticleActions
CF BlueSpiceSocialBlog
CF BlueSpiceSocialComments
CF BlueSpiceSocialMicroBlog
CF BlueSpiceSocialProfile
CF BlueSpiceSocialRating
CF BlueSpiceSocialResolve
CF BlueSpiceSocialTags
CF BlueSpiceSocialTimelineUpdate
CF BlueSpiceSocialTopics
CF BlueSpiceSocialWatch
CF BlueSpiceSocialWikiPage
CF BlueSpiceTagCloud supported
CF BlueSpiceTagSearch
CF BlueSpiceUEModuleBookPDF
EF BlueSpiceUEModuleDOCX
CF BlueSpiceUEModuleHTML
CF BlueSpiceUEModulePDF
CF BlueSpiceUEModulePDFRecursive
CF BlueSpiceUEModulePDFSubpages
CF BlueSpiceUEModuleTable2Excel
CF BlueSpiceUniversalExport
CF BlueSpiceUsageTracker
CF BlueSpiceUserInfo
CF BlueSpiceUserSidebar AT FAIL

erm:25233

edit link does not receive keyboard focus
CF BlueSpiceUserSidebar Web supported navigation links with collapsible heading
EF BlueSpiceWatchList
EF BlueSpiceWebDAVClientIntegration
EF BlueSpiceWebDAVMinorSave
EF BlueSpiceWhoIsOnline
CF BlueSpiceWikiExplorer Web FAIL ExtJS pagination erm:25456
CF Bootstrap AT, Web, SD supported (however, individual implementations need to be tested individually) Interactive elements are implemented with aria-roles. High-contrast requirements and keyboard access need to be tested during implementation.

Bootstrap accessibility statement

CF CategoryTree
CF Cite
CF CiteThisPage
CF CodeEditor
CF ConfirmAccount
CF ConfirmEdit supported

1.1.1

Note: This extension allows to user various CAPTCHA techniques. To comply, an accessible captchas (e.g. ReCaptcha or hCaptcha) would have to be implemented and techniques G143 AND G144 need to be applied.
EF ContentTransfer
CF CookieWarning
EF DrawioEditor
EF Duplicator
CF DynamicPageList3 AT, Web, SD supported text-based edit functionality, output formats can be created in accessible formats
CF Echo
n/a EditNotify
CF EmbedVideo
n/a External Data
CF FlaggedRevs
CF FlexiSkin AT FAIL

(easy fix)

Small keyboard access issues erm:25223

No screen reader testing, since here you set the color scheme and fonts for the skin. Vision seems to be a requirement to accomplish this.

CF Gadgets
EF Header Tabs
CF HitCounters
EF ImageMap
EF ImageMapEdit
CF InputBox
EF InsertTemplate
CF Interwiki
CF InviteSignup
EF LatexRenderer
CF Lingo AT, Web, SD supported

AAA

3.1.3

supported: Extension "Lingo" creates definition lists. When a word from the definition list is used on a wiki page, the definition is listed at the end of the page. (Note: the (through css) hidden list at the end of a page does not have a heading)
n/a LocalisationUpdate
CF LoginNotify
EF Maps
CF Math AT, Web FAIL FAIL is okay here, this type of image output is simply not supported by screenreaders. workaround: maybe MathML-based syntax?
CF MediaWiki
EF MergeArticles
EF MultimediaViewer
n/a NativeSvgHandler
n/a NSFileRepo
CF Nuke
CF Page Forms AT supported forms are created using wikitext
CF Page Forms Web not supported generated forms neither create correct tabindex nor label/field associations
CF Page Schemas
EF PageImages
CF ParserFunctions AT supported wikitext
n/a ParserHooks
n/a PdfHandler
n/a PluggableAuth
EF Poem AT supported tag is added in source view. Only applies some text indent and line breaks in the background. Produces standard html
EF Popups
EF Quiz
CF Renameuser AT FAIL needs aria labels, screenreader doesn't read them out
CF Replace Text
CF RSS
n/a Scribunto
EF Semantic Compound Queries
EF Semantic Extra Special Properties
EF Semantic Internal Objects
EF Semantic MediaWiki
EF Semantic Result Formats
EF Semantic Scribunto
CF SyntaxHighlight Web, SD FAIL No announcement of switching to code-language, needs some aria-described-by
CF SyntaxHighlight AT workaround keyboard trap in textarea Code (see mw discussion).

workaround: Source code editing

EF TemplateData
EF TemplateStyles
n/a TextExtracts
CF TitleBlacklist AT supported wikitext
n/a TitleKey
CF TwoColConflict
CF UrlGetParameters AT supported source code editing; text-based
CF UserFunctions AT supported source code editing; text-based
CF UserMerge
n/a Validator
n/a Variables
CF VisualEditor AT supported
  • Recently solved tickets:
  • support for High Contrast mode (T180890)
  • correct tab order (T12345)
EF WebDAV
CF Widgets AT supported pure text-based functionality that allows inserting a widget on a page. If a website includes a particular widget, the widget itself has to be tested for WCAG.



Administrative users

Type Name Type WCAG Accessibility notes
n/a Auth remoteuser n/a
CF BlueSpiceCategoryManager AT, Web partially supported supported: tabbing through tabular data

not supported:

  • Extjs: Pagination in grids not announcing button types and spinbutton value
  • parent-child relationships not announced
  • actions-buttons only visible and interactive on mouse-hover

workaround: categories can also be managed directly on the category pages themselves. The parent-child relationship of categories is also always listed on the categories pages

n/a BlueSpiceCloudClient
CF BlueSpiceConfigManager AT, Web

partially supported

supported:

form fields and tooltips are announced correctly and can be saved

issues:

  • search field needs aria-role "search" (2.1.1)
  • Save-button does not get focus after making form changes. (2.1
EF BlueSpiceDashboards
n/a BlueSpiceDistributionConnector
n/a BlueSpiceDrawioConnector
n/a BlueSpiceEchoConnector
n/a BlueSpiceEditNotifyConnector
EF BlueSpiceExtendedStatistics
n/a BlueSpiceFoundation
CF BlueSpiceGroupManager AT, Web

not supported

  • buttons have no labels
  • selected checkboxes are not indicated
  • Ext js paginatetoolbar
EF BlueSpiceNamespaceCSS AT not supported Note: this page is limited to admin users
  • text area to enter css does not allow to tab out of it to save the page. Mouse required.
CF BlueSpiceNamespaceManager AT Note: this page is limited to admin users
  • Extjs: Pagination in grids not announcing button types and spinbutton value
n/a BlueSpiceNSFileRepoConnector
CF BlueSpicePageAccess AT supported tag can be added in source editing mode
CF BlueSpicePageTemplates AT FAIL selecting template during page creation: No group heading for templates to jump to; Namespace heading is h3, h2 missing on page;

Page templates manager: ExtJS grid issues erm:25456

CF BlueSpicePermissionManager AT FAIL Ext JS grid issues erm:25456
CF BlueSpicePrivacy
CF BlueSpiceReaders Web FAIL Ext Js pagination erm:25456
CF BlueSpiceReminder Web FAIL overlay issues
CF BlueSpiceRSSFeeder
n/a BlueSpiceSMWConnector
CF BlueSpiceUsageTracker
CF BlueSpiceUserInfo
CF BlueSpiceUserManager FAIL JS grid buttons, pagination
n/a BlueSpiceUserMergeConnector
n/a BlueSpiceVisualEditorConnector
EF BlueSpiceWebDAVClientIntegration
EF BlueSpiceWebDAVMinorSave
EF BlueSpiceWikiFarm
CF ConfirmAccount
CF ConfirmEdit supported

1.1.1

Note: This extension allows to use various CAPTCHA techniques. To comply, an accessible captchas (e.g. ReCaptcha or hCaptcha) would have to be implemented and techniques G143 AND G144 need to be applied.
n/a EditNotify
n/a External Data
n/a ExtJSBase
CF FlexiSkin AT FAIL

(easy fix)

Small keyboard access issues erm:25223

No screen reader testing, since here you set the color scheme and fonts for the skin. Vision seems to be a requirement to accomplish this.

CF Gadgets
CF HitCounters
CF Interwiki
CF InviteSignup
EF LDAP Authorization
EF LDAPAuthentication2
EF LDAPGroups
EF LDAPProvider
EF LDAPSyncAll
EF LDAPUserInfo
n/a LocalisationUpdate
CF LoginNotify
CF MediaWiki
EF MultimediaViewer
n/a NativeSvgHandler
n/a NSFileRepo
CF Nuke
n/a OATHAuth
n/a OOJSPlus
n/a OpenID Connect
n/a OpenLayers
CF Page Schemas
n/a ParserHooks
n/a PluggableAuth
CF Renameuser AT FAIL needs aria labels, screenreader doesn't read them out
n/a Scribunto
EF Semantic Compound Queries
EF Semantic Extra Special Properties
EF Semantic Internal Objects
EF Semantic MediaWiki
EF Semantic Result Formats
EF Semantic Scribunto
n/a SimpleSAMLphp
CF SpamBlacklist AT supported wikitext
CF TitleBlacklist AT supported wikitext
n/a TitleKey
CF TwoColConflict
CF UserMerge
n/a Validator
n/a Variables
n/a WebAuthn
EF WebDAV
CF Widgets AT supported pure text-based functionality that allows insering a widget on a page. If a website includes a particular widget, the widget itself has to be tested for WCAG.


Recurring issues

  • ExtJS grid ticket - (button labels, pagination)
  • QM / book overlays: erm:25470

Core functionality

VisualEditor

High contrast

In Windows high-contrast system settings, the icons of the toolbar are not visible, since they are implemented as black background images:

Ticket seems to be progressing: https://phabricator.wikimedia.org/T180890

Menu icons in VisualEditor not visible in black high-contrast mode.
Menu icons in VisualEditor not visible in black high-contrast mode.

workaround

While using BlueSpice, turn off High Contrast mode and switch to the Color filter setting instead. Here, you also get a hight contrast setting in black, but the Visual Editor toolbar is fully visible:

Color filter in Windows 10 settings
Color filter in Windows 10 settings

Custom css for users in group MediaWiki:Group-Accessibilitygroup.css

The colors can be fully customized for a specific user group in the wiki

Google Chrome high contrast extension

The high contrast extension recommended in the Google Chrome help centerdoes not work in edit mode, but can be used for browsing a BlueSpice wiki page.

Keyboard navigation

workaround

All functionality of VisualEditor can be entered in source editing mode, which is a standard way of editing a wiki page. The save dialog can be activated via keyboard alt+shift+s. Available Shortcut keys can be viewed with Ctrl+/

Extended functionality

TemplateData

Does not support

  1. dialog window does not recognize language
  2. no tabbing to hidden fields (solution: user task: mark all non-required fields as suggested to be shown instantly).



To submit feedback about this documentation, visit our community forum.