-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Review CSS Fonts Module Level 4 #17
Comments
Is there an update on this issue yet @digilou? Please let me know if you need help. |
Sorry @IanPouncey I was on vacation a bit. I'll be emailing you tomorrow with some questions. |
@IanPouncey @michael-n-cooper here is the only potential problem that stands out to me:
In 2.1.3 Generic Font Families "emoji" is added as a generic font family option. Emojis have become very common in everyday electronic communication, and are often recognized universally. The questions I have about instituting this as an option:
This may affect 9.3 Selecting the text presentation style: The font-variant-emoji property. Thoughts about emoji accessibility, and possible workarounds by other accessibility professionals: |
Attempting to understand the spec - I think the "emoji" font family is pretty innocuous, it means "use an unspecified emoji font to render this text", but that should only work if the character codepoints are in the emoji range, and if they aren't it won't work for anybody, so not an accessibility differentiator. The font-variant-emoji property required a closer look, but I think is probably also accessibility-neutral. It allows the stylesheet to say "display the emoji glyph" or "display a predefined text description of the emoji". That opens the possibility that a user style sheet could kick it into text mode even if the author puts it in emoji mode, which is an accessibility benefit. Hopefully non-visual AT would automatically handle the characters in text-mode anyways regardless of what the CSS rule says - this might be an implementation note we would request in an accessibility considerations section. My bigger concern is with wingdings fonts, where the font is used to mis-represent characters in order to achieve symbols, a widespread usage that predate emojis and hopefully will die off as emojis become fully mainstream. However, an example in font-display: block indicates the existence of such fonts; it calls it "badly designed" but doesn't say anything further about that situation that I can find. We might want to request in an accessibility impacts section that it advise authors use emojis and not wingdings. Also, if the WG thinks authors may continue to use such fonts, that may mean there is a need for a "fallback" or "alternative" text on a character level - but I'm not sure if that's a feature for the CSS fonts module, or another CSS module, or some sort of "authoring practice" we might want to develop somewhere. |
@michel-n-cooper @IanPouncey |
Potential a11y considerations statement: "When using fonts whose glyphs convey meaning that is not consistent with the Unicode code point, authors need to provide an alternative version." Also note the homographs are a security issue, so the security people might wanna address that. (credit @AutoSponge for this note) |
@svgeesus APA agrees there are no accessibility issues, but would like to include an Accessibility Concerns section. See the following comments from Michael:
|
Thanks for the update! By an alternative version do you mean an alternative font, or alternative text? |
Good catch @svgeesus! Alternative text. |
I'm going to change "need to provide" to "should provide" because RFC2119 - "need to" does not indicate a requirement level. |
@michael-n-cooper wrote:
It does say why it is badly designed, in the context of fallback fonts:
it fails though to say why it is badly designed in terms of screen readers (you will hear "C" read out, which makes no sense) and also fails to say what a better designed font would do. Since Unicode 7.0 there has been a "printer" character, U+1F5A8 🖨 so I propose to:
However, could someone who uses a screen reader tell me how this next paragraph is read? This is a 🖨 |
I just added this, how does it sound? The use of fonts to provide a visual rendering of text should not, in general, impact accessibility. However, this assumes that the semantics conveyed by the font glyphs Historically, this has not always been the case. Sadly, but avoidably, this practice persists |
Acoustically, JAWS and NVDA output it as "Printer" (as text, not graphics). On the Braille display, it is output as an unknown character or not, because there is no equivalent in the Braille alphabet. This is problematic because there are people who rely only on the Braille display (either because they are deaf or because they have to make a phone call at the same time). Please also note that many Unicode characters are not output acoustically by the screen reader either, because it does not know them. The screen readers know the printer character because it is often used. Most characters are not known to the screen reader. The solution here in GitHub is better: The character is displayed as a graphic with alternative text. |
Thanks, @JAWS-test for the information. I think the issue of limited Unicode coverage in screen readers, and limited Unicode coverage in Braille displays, should be treated separately to "mismatch between Unicode code point and glyph". Partly because they seem to have very different, and potentially conflicting, solutions. |
@svgeesus for the most part we really like (and appreciate!) the suggested text you proposed. We have one concern about your proposed text for an Accessibility Considerations section. APA suggests including a more prescriptive listing when it comes to using emojis or images in fonts. Based on research that @AutoSponge has done in the past, we suggest adding the following how-to hierarchy to achieve greater accessibility, while meeting developers where they are:
|
The @AutoSponge resource is really interesting, thanks for the pointer! Given
it would be useful to get some I18n and Unicode expert review on that document. Maybe TAG review too? Turning now to the specific points:
|
Here is the HTML markup that GitHub generates for character <g-emoji class="g-emoji" alias="printer"
fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f5a8.png">🖨</g-emoji>
U+1F5A8 (PRINTER). |
Even if this is a NOTE, it's more clear to the developer what will have the widest support when the implementation is not a ligature (see below). This is the most common approach for wrapping non-standard text (emojis, emoticons, etc.) generated from user supplied content (e.g., tweets).
AFAIK, ligatures render characters to the page which CSS transforms into the image that's mapped to that specific sequence of code points. This means that Braille displays get the correct number of characters to display (as plain text). When an emoji is used, its code point(s) have no corollary Braille characters and when the display is limited to a set number of characters, even if it wanted to expand the emoji into its well-known name, it may not be able to. |
CSS Fonts Module Level 4 may present accessibility challenges that need to be addressed at the spec level - or it may not. Need review to check.
APA tracking of this review
The text was updated successfully, but these errors were encountered: