6 msยท
This is (ab)using unicode, for example the F is actually a Mathematical Bold Fraktur Capital F: https://www.compart.com/en/unicode/U+1D571 https://www.compart.
by X-Istence 8y ago
This is (ab)using unicode, for example the F is actually a Mathematical Bold Fraktur Capital F:
https://www.compart.com/en/unicode/U+1D571 https://www.compart.com/en/unicode/U+1D571
This is terrible for screen readers and the like which are unable to read or understand these unicode characters making accessibility a real concern.
- whatshisface 8y agoI don't see why screen readers can't just be extended to handle characters that look like F.
- daeken 8y agoBecause they have uses outside of the abuse. If you always expect that they're being used improperly, then you mess up the actual use cases.
- whatshisface 8y agoWhat would be an example of a string like "๐๐๐๐๐ " appearing in a context where the screen reader should not attempt to pronounce it? Note that in math usage, a lone โ should be pronounced exactly the same way as a lone R.
- reaperducer 8y agoSomeone using a screen reader to learn a new language.
- whatshisface 8y agoThere are no natural languages that use mathematical blackboard bold script, although you are right that screen readers probably shouldn't try to read Cyrillic according to what English letter the characters look the most like.
- WorldMaker 8y agoIn math usage an โ might be "the Regular set" and involved in equations that use a variable R. It's not unusual, and in fact, sometimes important, when reciting math as speech to make it clear which is the "bold" or "set" or "group" R, versus which is the ordinary R.
- mikeash 8y agoThey certainly could, but resources are limited and they probably have more important tasks.
- X-Istence 8y agoDepending on context it may not actually mean "F". Screen readers are not yet capable of fully understanding the meaning behind the text they are reading. If for example someone uses this to write a mathematical formula, having a screen reader says "F" changes the entire meaning. Could this be done, absolutely, but it is something to be aware of and is something I noticed on Twitter where blind users were complaining that they were unable to "read" Twitter messages using this, thereby making them second class citizens all over again.
- whatshisface 8y agoIf I were to write a math formula in ASCII, it would probably have strings of multiplied variables that would be indistinguishable from English words to a screenreader that didn't know anything about meaning. The only way it would know to sound out the letters is if they had spaces or asterisks between them. The additional glyphs would do nothing to change this.
- Kye 8y agoScreen readers should faithfully render characters as sound so people with limited/no eyesight can engage with written language, not make a guess that you meant to write cursed/fancy text instead of what those characters are for.
- mrweasel 8y agoWell, because it's not an F, and how would you deal with this: ๐ I mean it's a bull symbol.
- whatshisface 8y agoI think mapping common lookalikes to their corresponding Latin-1 glyphs would be a broad improvement, and with websites like this collecting them it may not even be all that much work. Although, like you say, it would be nice if screenreaders could produce verbal descriptions of iconographic symbols. That would be a lot of work but it would be helpful.
- akvadrako 8y ago๐ = ๐๐ฆ๐๐
- bryanrasmussen 8y agoWhat do you think the general development budget for a screen reader is compared to the development budget for Google Search services?
- whatshisface 8y agoCompared to the marginal cost of implementing this small additional input sanitization, both budgets are infinite.
- bryanrasmussen 8y agoNVDA is open source https://github.com/nvaccess/nvda https://github.com/nvaccess/nvda for me it would be an inordinately expensive use of my time, but for you? at any rate, both budgets are not infinite, and it's infuriating to hear the described as such.
- ebcode 8y agoแพแฅฑฮแถาฑ, you don't?
- shadowfaxRodeo 8y agoI wonder actually. Google seems to understand these, you can search with them. I wouldn't be surprised if screen readers understand these symbols. They're originally for Mathematics, and I'm sure there's plenty of blind mathematicians.
- X-Istence 8y agoSome of them are outside the mathematical range, that just happened to be the one I picked. Google has a lot of resources to do normalization, when IDNA in the URL bar became common they and other browser manufacturers had to put resources behind similar looking glyph attacks to make sure that you were actually on google.com and not on some site that was using a homoglyph attack. https://blog.malwarebytes.com/101/2017/10/out-of-character-homograph-attacks-explained/ https://blog.malwarebytes.com/101/2017/10/out-of-character-h... This may explain why Google is able to discern these use cases.
- deleted 8y ago[deleted]
- floil 8y agoIn chromium, the glyph attack defense works by normalizing to a "confusability skeleton" -- the ICU library actually does the normalization. Even within latin-1 this does some mangling: m gets normalized to rn, w to vv, etc. The query rewriting is a different problem, but it's possible it uses the confusables list as an input.
- snek 8y agoblind mathematicians don't write english to communicate in these unicode blocks... These blocks don't exist to be used for writing words in the english language.
- shadowfaxRodeo 8y agoYes, I just mean to say, if you were creating a screen reader, it wouldn't be that hard to take this sort of thing into account. So, maybe they do. Either way, I'll add a little warning to the site.
- snek 8y agoIt's also against web compat standards to use these characters without providing alt text (failing case: https://www.w3.org/TR/WCAG20-TECHS/F71.html https://www.w3.org/TR/WCAG20-TECHS/F71.html)
- avaika 8y agoJust use mysql < v8 to store your data. By default it has utf8mb3 anyway. Problem solved ;)
- kazinator 8y agoCould also have issues with systems that have broken 16-bit-only Unicode support (Java, Windows, ...) in which code points beyond U+FFFF have to be encoded with some surrogate pair nonsense that is likely untested in many text-handling situations.
- planteen 8y agoThat's like saying UTF-8 requires "nonsense" pair, triplet, or quadruplet chars. UTF-16 handles all Unicode code points just fine. UCS-2 does not. Windows transitioned from UCS-2 to UTF-16 long ago.
- kazinator 8y agoThe problem is Windows programs, not Windows per se. The difference is that UTF-8 gets tested in this regard; multi-byte encoding situations actually occurring in UTF-8 are not rare occurrences that only trigger on funny characters that nobody uses. (For that matter, four-byte UTF-8 situations are in the same boat, of course, but not two- or three-.)
- loeg 8y ago> (For that matter, four-byte UTF-8 situations are in the same boat, of course, but not two- or three-.) Yeah. Notorious example here is MySQL's "utf8" column type only supporting 3-byte UTF-8 sequences.
- yorwba 8y agoI'd kind of expect screen readers to be able to apply Unicode compatibility decomposition http://unicode.org/reports/tr15/#Canon_Compat_Equivalence http://unicode.org/reports/tr15/#Canon_Compat_Equivalence since there are many characters that are just visual variants. Ligatures like ๏ฌ or the like are at least somewhat common e.g. in PDFs. On the other hand, maybe that breaks other stuff and only whitelisted characters are converted. Maybe a HN reader using a screen reader can describe how theirs handles these characters.
- snek 8y agoquick rundown from my experience: NVDA: oss, people have hacked in normalization that they can flip on when they hear something that sounds like nonsense, and then flip back off after reading that particular part. JAWS: people have to listen to a bunch of crap if there's no alttext and will not be able to understand your content VoiceOver OSX: people have to listen to a bunch of crap if there's no alttext and will not be able to understand your content
- planteen 8y agoThat implies that PDFs work with glyph indices, not Unicode code points. How do PDFs work for shaped languages like Hindi? In a script like that, you may have glyphs without any corresponding Unicode code point. Or does the PDF perhaps store the original unshaped text?
- yorwba 8y agoIt might just be the output of some particular programs that pre-bake their ligatures. All I know is that sometimes, I try to copy-paste text out of a PDF only to end up with some annoying ligatures interspersed throughout.
- jfk13 8y agoTt's possible for a PDF to be annotated with the original Unicode text (look up the `/ActualText` feature in the spec), to support extraction of the underlying text rather than the shaped glyph stream for purposes such as copy/paste and search. However, few PDF generators do this, and not all PDF readers have good support for it. So results vary depending on the specific tools and use-case.
- WorldMaker 8y agoThings like screen readers can still try the Unicode decomposition techniques to try to make sense of the nonsense. The Fraktur F does decompose to "F", in this particular example. A better example is something like Lowercase Greek Letter Alpha which does not decompose to Latin "a", despite the readable similarity to most Latin character form audiences. https://www.compart.com/en/unicode/U+03B1 https://www.compart.com/en/unicode/U+03B1 Though there too, there are patterns screen readers can attempt to find to figure out when alpha is pretending to be Latin a. That said, it's still not a great idea to use them for text anywhere. It puts a lot of burden on the reader's pattern matching skills. Not just screen readers, but human readers too; everyone reads them a bit slower, and that's before you consider the usual human skill/ability modifiers such as dyslexia that make these things so much worse, too.
- deleted 8y ago[deleted]
- lifeisstillgood 8y agoI agree, but it has non-abuse uses that I did not realise I missed. For example just a simple smoke test has more nuaances than expected ... ๐๐๐๐ค ๐ฅ๐๐ค๐ฅ ๐ฅ๐๐ฉ๐ฅ ๐๐ ๐ ๐ ๐๐๐๐ ๐ผ๐๐๐๐๐ค๐ ๐๐ฆ๐ฅ ๐๐ค ๐ฆ๐ค๐๐๐ ๐๐ ๐-๐๐ค๐๐๐ ๐๐๐๐ฃ๐๐๐ฅ๐๐ฃ๐ค ๐๐๐ ๐ค๐ ๐๐ ๐ฅ๐๐๐ค ๐ฃ๐๐๐๐๐๐ค ๐ฃ๐๐๐๐๐๐๐ ๐ฅ๐ ๐๐ ๐ผ๐๐๐๐๐ค๐ ๐ค๐ก๐๐๐๐๐ฃ ๐จ๐ ๐๐๐ ๐๐ ๐ฃ๐๐๐ค๐ ๐๐๐๐๐ช ๐๐ ๐๐๐๐๐๐๐ฅ ๐จ๐ ๐๐ฃ๐ ๐๐๐๐๐๐๐๐ ๐ฆ๐๐๐๐ ๐๐ ๐ก๐ฃ๐ ๐ก๐๐ฃ๐๐ช ๐ฅ๐๐ฃ๐ ๐ฆ๐๐๐ ๐ฆ๐ฅ ๐ฅ๐๐ ๐ง๐๐ฃ๐๐ ๐ฆ๐ค ๐ค๐ช๐ค๐ฅ๐๐๐ค ๐ ๐ฆ๐ฃ ๐๐๐ฅ๐ ๐ฅ๐ฃ๐๐ง๐๐๐ค.
- thisisit 8y ago> This is terrible for screen readers and the like which are unable to read or understand these unicode characters making accessibility a real concern Yes, Firefox for Android doesn't render it properly.
- KevanM 8y agoCan confirm, put a hello world in codepen.io with some other text and JAWS skipped right past it.