Module talk:Message box
![]() | This module was considered for deletion on 2020 February 15. The result of the discussion was "keep". |
![]() | Module:Message box is permanently protected from editing because it is a heavily used or highly visible module. Substantial changes should first be proposed and discussed here on this page. If the proposal is uncontroversial or has been discussed and is supported by consensus, editors may use {{edit protected}} to notify an administrator to make the requested edit.
|
|
|
This page has archives. Sections older than 30 days may be auto-archived by Lowercase sigmabot III if there are more than 4. |
Edit request 7 January 2025
editThis edit request has been answered. Set the |answered= parameter to no to reactivate your request. |
Description of suggested change: Currently, Template:Ambox/doc#talk says, "In order to make sure there is always a link to the talk page, you can use
This implies that a "#" value for args.talk should just link to an article's talk page with no particular section, and several templates do this. However due to the code in Module:Message box, using just |talk={{{talk|#}}}
."|talk=#
actually creates a link with two pound signs like this: Module talk:Message box## (verified on Template:Ambox/testcases).
This type of double-hash URL actually causes errors, when I click on it I get these nonsensical messages No search results found for section "#" in archives. It may have been removed or renamed, or you may have followed a malformed link.
and a popup saying This topic could not be found. It might have been deleted, moved or renamed.
I fixed it by adding a special case for "#" in Special:Diff/1268004582 and Special:Diff/1268011357, and verified functionality in the testcases.
Diff:
− | local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. '#' .. talk) | + | local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. (talk == '#' and '' or '#') .. talk) |
− | '%s the | + | '%s the [[%s' .. (talk == '#' and '' or '#') .. '%s|talk page]].', |
Thanks, --Habst (talk) 21:25, 7 January 2025 (UTC)
Protected edit request on 22 March 2025
editThis edit request to Module:Message box/configuration has been answered. Set the |answered= parameter to no to reactivate your request. |
Am writing to request for a page protection Brian Chira Smart boy Ke (talk) 00:51, 22 March 2025 (UTC)
- @Smart boy Ke: Not done: this is the talk page for discussing improvements to the page Module:Message box. Requests for increases to a page protection level should be made at Wikipedia:Requests for page protection. --Redrose64 🌹 (talk) 07:56, 22 March 2025 (UTC)
Update icons to Codex
editThis edit request has been answered. Set the |answered= parameter to no to reactivate your request. |
For Module:Message box/configuration Update icons to use the new Codex icons, I've colored them manually in c:Category:Wikimedia Codex icons with color, using the colors we used with near identical OOUI icons.
-
ambox.speedy
-
ambox.delete
-
ambox.warning ambox.content
-
ambox.notice
-
or this for ambox.notice
-
ambox.style Not Codex, but OOUI for style icon...
etc. In some cases cmbox will use different icon. waddie96 ★ (talk) 12:06, 10 August 2025 (UTC)
- NOTE: The current icons are licensed such that they do not need the link to work so that arribution works. These new icons are CC4 licensed, so attribution would be needed and the link= attribute would also need removing from the code if these are to be used. -- WOSlinker (talk) 12:23, 10 August 2025 (UTC)
- @WOSlinker Sorry, I didn't do the mass upload to c:Category:Wikimedia Codex icons with color, I requested it at Commons:Batch uploading/Wikimedia Codex icons, and I requested it be made with the appropriate license which is {{MIT License}} found in the gerrit:plugins/gitiles/design/codex/+/refs/heads/main/packages/codex-icons/LICENSE. Also in the
package.json
it says"license": "MIT"
. - Also some the icons have already been there for a few years, and marked with {{CC-by-4.0}}, mistakenly too I assume. Anyway, I marked my colourings of the icons with that too since it was a derivation.
- Anyway, CC-by-4.0 is incorrect license. {{MIT License}} is the correct one. I will re-tag the ones at c:Category:Wikimedia Codex icons with color and all the ones at c:Category:Wikimedia Codex icons but the second one may take quite a while. waddie96 ★ (talk) 13:08, 10 August 2025 (UTC)
- MOS:PDI says that a blank
|link=
param - which is what we essentially do with mboxes - should not be used with CC BY-SA, GFDL, or similarly licensed images. I think that I'm right in saying that c:Template:MIT License falls within "similarly licensed images". --Redrose64 🌹 (talk) 13:24, 10 August 2025 (UTC)- @Redrose64 But the same icons are implemented in the cdxMessage component in Codex, and this component is deployed on this very wiki. This component shows the exact same images (just not using our source which is Commons) from the same Gerrit repo to display or messages we see all over. The entire package/library has the GNU General Public License see gerrit:plugins/gitiles/design/codex/+/refs/heads/main/packages/codex/LICENSE. waddie96 ★ (talk) 13:49, 10 August 2025 (UTC)
- See Special:Version: codex-design-tokens GPL-2.0+, codex-icons MIT, codex GPL-2.0+, wikimedia/codex GPL-2.0-or-later waddie96 ★ (talk) 13:50, 10 August 2025 (UTC)
- @Redrose64 Also, is the use of the predecessor OOUI icons with MIT license in violation of copyright at mw:Module:Message box/configuration for example. waddie96 ★ (talk) 14:29, 10 August 2025 (UTC)
- Do we have consensus for these, has this change been discussed outside of this request ? Sohom (talk) 15:47, 10 August 2025 (UTC)
- @Redrose64 Also, is the use of the predecessor OOUI icons with MIT license in violation of copyright at mw:Module:Message box/configuration for example. waddie96 ★ (talk) 14:29, 10 August 2025 (UTC)
- See Special:Version: codex-design-tokens GPL-2.0+, codex-icons MIT, codex GPL-2.0+, wikimedia/codex GPL-2.0-or-later waddie96 ★ (talk) 13:50, 10 August 2025 (UTC)
- @Redrose64 Where in the quoted policy does WP:PDI state
a blank
? I couldn't find it. waddie96 ★ (talk) 16:25, 10 August 2025 (UTC)|link=
param - which is what we essentially do with mboxes - should not be used with CC BY-SA, GFDL, or similarly licensed images.- Sorry, MOS:PDI. It's always confusing when otherwise-similar MOS: and WP: shortcuts take you to different places. --Redrose64 🌹 (talk) 16:28, 10 August 2025 (UTC)
- waddie96 ★ (talk) 16:39, 10 August 2025 (UTC)
- I've answered the edit request as Not done for now: please establish a consensus for this alteration before using the
{{Edit protected}}
template. (non-admin closure) Aaron Liu (talk) 02:21, 11 August 2025 (UTC)
- I've answered the edit request as Not done for now: please establish a consensus for this alteration before using the
- waddie96 ★ (talk) 16:39, 10 August 2025 (UTC)
- Sorry, MOS:PDI. It's always confusing when otherwise-similar MOS: and WP: shortcuts take you to different places. --Redrose64 🌹 (talk) 16:28, 10 August 2025 (UTC)
- @Redrose64 But the same icons are implemented in the cdxMessage component in Codex, and this component is deployed on this very wiki. This component shows the exact same images (just not using our source which is Commons) from the same Gerrit repo to display or messages we see all over. The entire package/library has the GNU General Public License see gerrit:plugins/gitiles/design/codex/+/refs/heads/main/packages/codex/LICENSE. waddie96 ★ (talk) 13:49, 10 August 2025 (UTC)
- MOS:PDI says that a blank
- @WOSlinker Sorry, I didn't do the mass upload to c:Category:Wikimedia Codex icons with color, I requested it at Commons:Batch uploading/Wikimedia Codex icons, and I requested it be made with the appropriate license which is {{MIT License}} found in the gerrit:plugins/gitiles/design/codex/+/refs/heads/main/packages/codex-icons/LICENSE. Also in the
CSS instead of tables
editCould this thing use <div style="display:table;">
and <div style="display:table-cell;">
instead of literal tables and table cells (<table>
, <td>
)?
Were the any previous attempts to remake this using <div>
? If so, what was the consensus? Sapphaline (talk) 09:46, 20 August 2025 (UTC)
- A long time ago this would have been converted to divs but apparently IE sucked (this should not be news).
- Today, I have User:Izno/Sandbox/Ambox with what are some skimmings and started a sandbox at Module:Message box/div. I have just done a very bad job of finishing this work. Izno (talk) 22:09, 24 August 2025 (UTC)
- Which might be closer to done than not, honestly. I think what it currently needs is to
- Double check the ambox work
- Add "soft" support for the other kinds of boxes (where soft is defined as module-supports but config disabled)
- Merge tested /div version but not CSS into main
- Enable boxes of each kind one by one.
- Leave ambox for penultimate as the most likely to cause some mass noise in a way
- Probably somewhere around here do ombox, that has some needed coordination
- Leave tmbox for ultimate, there is work to coordinate
- Fix bugs that are identified
- Move CSS over to better-named stylesheet
- Delete the /div CSS (I won't be too sad)
- Remove main support for table versions, possibly rename some things
- Izno (talk) 22:42, 24 August 2025 (UTC)
- I have now put this plan in a publicly editable place at Module:Message box/div/doc. IznoPublic (talk) 00:26, 26 August 2025 (UTC)
- Which might be closer to done than not, honestly. I think what it currently needs is to
- What's broken here? I've probably wrong but AFAIK for accessibility the existing role="presentation" should suffice. Aaron Liu (talk) 23:21, 28 August 2025 (UTC)
- You should always endeavor to use the default aria role element. In this case, that's not a table. Ignoring that, tables are shit for doing other presentation with. Izno (talk) 03:20, 29 August 2025 (UTC)
Aria roles
editThe elements with role=none
(synonym for presentation
which is not recommended for use) is not be hidden from the accessibility API but their implicit semantics are hidden. Meaning the contents of an Ambox for instance will not have the implicit semantics of a HTML data <table>
. So the content given in |text=
will simply be presented to the accessibility API technology as <div>Content</div>
instead of <table>Content</table>
which is what we want, yes. However, the accessibility technology, i.e. screen reader, etc., will not have any idea what this text is or what it represents since the <div>
element that it 'sees' has no implicit role
, such as with <p>Content</p>
for instance, and there is no aria-label
given... So I suggest we give it these values, especially since:
If presentation or none is applied to a <table> element, the descendant <caption>, <thead>, <tbody>, <tfoot>, <tr>, <th>, and <td> elements inherit the role and are thus not exposed to assistive technologies.But, elements inside of the <th> and <td> elements, including nested tables, are exposed to assistive technologies.
— taken from [1].
I interpret this as meaning that the <img>
element inside the first <td>
element will be exposed, and it is simply an image/icon with no benefit to the screen reader or the visually impaired... so give the image <td>
element with class mbox-image
the HTML attribute: aria-hidden="true"
; so that it is completely hidden from the accessibility technology.
The next <td>
nests our mbox-text
class with the actual stuff we want to expose. But we want to give it meaning too. The role should be: role="note"
as it's a note semantically speaking and does not fit any other ARIA role
, and the child elements of that will all be exposed to the API as whatever has placed in the text parameter anyway (as confirmed in the quote above). Finally I suggest giving it an aria-label="Notice"
if |type=notice
or style
or content
, and possibly aria-label="Warning"
if delete
or speedy
. So it'll read out with a screen reader for example as: Note. Notice. Content...
Option 2... the parent element may actually be what we need to expose because it's nesting the whole dang thing? I don't think it matters since the parent elements of the text element are hidden from the API but another solution possibility could be setting the entire <table>
's role to role="note"
and giving it an aria-label="Notice"
, and then still hiding the image, and then leaving the text element alone, however I'm unsure if the note role is inherited by child elements like the none/presentation role is.
waddie96 ★ (talk) 00:19, 29 August 2025 (UTC)
- How about we wait to suss out how we want to deal with any accessibility questions here after I've got everything in divs, as in the section just above. Anyway, I think the last time I looked at this, the most similar was role=note for what message boxes represent. I am pretty sure I am not a fan of adding labels here, which should be when the content needs naming, and this does not. Izno (talk) 03:24, 29 August 2025 (UTC)
- (In fact, the div version already removes the presentation role.) Izno (talk) 05:18, 29 August 2025 (UTC)
- Cool. Please do ping me in discussions when this is revived. I've read extensively for many hours for something else and I'm quite well versed in it now. Yes,
role="note"
is the most appropriate role. Also, after testing it in the enwiki context using a few different screenreaders I tend to agree with you that anaria-label
in this case is unnecessary "fluff" to the accessibility tree for the mbox, since as you stated the text describes itself. 👍 waddie96 ★ (talk) 14:56, 29 August 2025 (UTC) - Awesome. Can it give the image the HTML attr
aria-hidden="true"
too? Please 🙏 waddie96 ★ (talk) 14:59, 29 August 2025 (UTC)
- Cool. Please do ping me in discussions when this is revived. I've read extensively for many hours for something else and I'm quite well versed in it now. Yes,