11 ms·
Unicode Roman Numerals and Screen Readers
- agos 4y agothe Mac OS TTS/Siri is equally baffled and gets it wrong
- Someone 4y agoIt’s more difficult than what this article describes: how to pronounce something depends on context, not only of the text being read, but also of the user. There’s a difference between listening to an audio book or proofreading text, for example. In the latter case, the user may want to hear “capital X”, not “ten” in “Act X, scene III”. For proofreading, blind people often prefer their TTS system to be predictable rather than smart, but often wrong. For example, Apple’s TTS tended to pronounce the “Read” in “Read me.txt” in the past tense, but that didn’t bother users much. Its imperfect smartness around abbreviations (“Dr. Mulholland” vs “Mulholland Dr.”, “St. Albans” vs “Albans St.”, to mention a few) bothered them more. (Weirdly, the iOS TTS system seems to handle these worse than MacinTalk did around 1990)
- microtherion 4y agoThe use of the Unicode code points can actually help in disambiguating here. For regular letters, you have to be very careful about which contexts to accept roman numerals in, otherwise you'll suddenly get numbers read for words like "CD" and "IV" and for lowercase letters even words like "mix" (Older Unix users may remember the joke about upgrading from vi to xv). And then there are cardinal vs ordinal contexts: Mac OS X -> "ten" Pope John X -> "the tenth" Malcolm X -> "ex" King's X -> "cross" X-mas -> "christ" X-ing -> "cross" 10 X 2 -> "by" or "times"
- throw0101b 4y ago> X-mas -> "christ" Technically: * https://en.wikipedia.org/wiki/Chi_(letter) https://en.wikipedia.org/wiki/Chi_(letter) > The 'X' comes from the Greek letter Chi, which is the first letter of the Greek word Christós (Greek: Χριστός, translit. Khristós, lit. "anointed, covered in oil"), which became Christ in English.[1] The suffix -mas is from the Latin-derived Old English word for Mass.[2] * https://en.wikipedia.org/wiki/Xmas https://en.wikipedia.org/wiki/Xmas
- account42 4y agoInteresting, but in popular usage "ex" might be more correct since the main reason for writing "X-mas" instead of Christmas is an attempt to distance the holiday from religion.
- reaperducer 4y agothe main reason for writing "X-mas" instead of Christmas is an attempt to distance the holiday from religion. That's internet revisionist history. The real reason was to save space in writing. "X" as an abbreviation for Christ is very common in Christianity, and has been for a couple of thousand years now. Even Roman Catholic priests' robes have "ΧΡ" on them as an abbreviation for "Christ."† † https://www.catholic.com/qa/what-does-the-symbol-of-the-p-with-an-x-through-the-bottom-of-it-mean https://www.catholic.com/qa/what-does-the-symbol-of-the-p-wi...
- lstamour 4y agohttps://en.m.wikipedia.org/wiki/Chi_Rho https://en.m.wikipedia.org/wiki/Chi_Rho Even the abbreviation has a history. And a couple Unicode symbols: and ⳩ (weirdly, one displays in HN and the other does not.)
- Joker_vD 4y agoWait, "X-ing" means "crossing"? Now those nonsensical "XING PED" road writings make more sense: I thought it was weird to have some random Chinese or Vietnamese phrase written in Latin on a road in the US of all places... but it's just short for "crossing pedestrians", right? Although on the other hand, now that I think of it, what's wrong with the zebra crossing?
- thechao 4y agohttps://imgs.xkcd.com/comics/ten_thousand.png https://imgs.xkcd.com/comics/ten_thousand.png
- cjbgkagh 4y agoI assume you mean why not have road markings rather than the signage. Sometimes road markings disappear in rain and the bright lights reflecting off the road can mess up the contrast. I had a hard time navigating Seattle due to the inability to see road markings, it seemed that everyone else knew where to go (and not go) from previous experience so I would follow the traffic. But sometimes there was no traffic either… EDIT: Not sure what I did to elicit so many downvotes on a personal anecdote. I was not advocating the exclusive use a PED XING sign just giving a situation where zebra crossing markings may be insufficient.
- account42 4y agoI have never seen PED XING used (don't live in the US) but from a quick image search it is used for both signage and road markings. In either both cases there are more intuitively understandable options - a literal (zebra) crossing drawn on the road or a sign of a crossing pedestrian. That this doesn't seem to be widely adopted accross the world and that searching returns many people asking WTF it means reinforces that idea.
- davchana 4y agoI too saw them ever in US only. Most of these have multiple set of signs. PED XING on Road as an early warning. A metal sign post on the side depicting a pedestrian. Then the actual White Lines, the crossing. Similar text examples on road are like STOP AHEAD, SCHOOL AREA, RIGHT ONLY, LEFT ONLY, FWY NNN etc.
- deleted 4y ago[deleted]
- agos 4y agothe smartness around abbreviation makes for some funny moments. I keep Siri in Italian, I asked her who was playing that song, and she told me it was "Architetto Enemy" because she taught the Arch in Arch Enemy was the abbreviation of a job title
- syrrim 4y agoCan we agree that roman numerals suck? I seldom put the effort in to decode even short numbers like xi, let alone the year encoded in roman numerals. I personally read such a thing as "echs aye" in my head. If you intend your numbers to be comprehensible, you'll use arabic numbers. Hence, the fact that screen readers stumble on roman numbers is in fact a benefit, and we should be careful not to break this important feature.
- Vrondi 4y agoYes, go back in time and tell the Elizabethan playwright whose work you need to study for your Literature class that they shouldn't use Roman numerals as is the custom, because it might cause you problems in a few centuries. Sure. There's really no excuse for any Unicode symbols not to be properly read by a screen reader, except developer cluelessness or carelessness.
- syrrim 4y agoI've seen it argued that we ought to replace antiquated terms in shakespeare with modern ones as well. I was at pains to disagree. Replacing the numbering system would be easy by comparison.
- Am4TIfIsER0ppos 4y agoOh god you want to inflict the punishment of localization on to Shakespeare? Not that I care for his works that much but on principle I object.
- SSLy 4y agoYou will have no luck asking Europeans to ever start using arabic numerals for titles used by the royalty. Numbering centuries would be a much more approachable endeavour. Bloody French.
- jurip 4y agoThe French managed to solve the problem of royalty titles, though.
- usrbinbash 4y agoHow can I make sure a screen reader reads "In Hamlet, Act Ⅳ, Scene Ⅸ..." correctly? Easy: By writing "In Hamlet, Act 4, Scene 9..." instead. There simply is no reason to use relics of cultures that fell before long before the invention of the printing press in a modern context such as a TTS based screen reading software, if said relics interfere with such systems functionality. This goes double for instances where such relics have multiple representations, that make the problem unnecessarily harder than it already is. Roman Numerals are one such instance, because we can write IV or Ⅳ.
- Vrondi 4y agoYou have a TARDIS to go back and tell Shakespeare this, do you?
- usrbinbash 4y agoNo I don't. And neither does Mr. Shakespeare. And because he doesn't, the decision how his works are represented in modern systems, is not up to him.
- bazoom42 4y agoSo Shakespares works should be edited to acommodate a software bug?
- usrbinbash 4y agoHow is replacing one system of writing numbers with another system of writing numbers, with the exact same numbers represented, editing the works? Btw. is it also a bug if a screenreader doesn't support Babylonian Cuneiform Numerals? They have Unicode Code points as well.
- bazoom42 4y agoYes that is editing. Modifying a text (whether small or large changes) is called editing. I have no opinion on Cuneiform.
- Vrondi 4y agoIt's kinda shameful that only one screen reader can read the Unicode. All screen readers should be able to read all Unicode symbols properly. It's hideous that people with accessibility needs have to put up with such shoddy products, some not cheap.
- pornel 4y agoIt is incredibly frustrating, because fixing this isn't even rocket science. It doesn't even need super clever AI. A character database and a few regexes could go a long way. A lot of accessibility knowledge and work is spent just on primitive bugs and shortcommings of screen readers. If only screen readers added a few dozen lines of code, the entire world wouldn't need so many workarounds for them.
- usrbinbash 4y ago> All screen readers should be able to read all Unicode symbols properly. Really? https://en.wikipedia.org/wiki/Cuneiform_Numbers_and_Punctuation https://en.wikipedia.org/wiki/Cuneiform_Numbers_and_Punctuat... How should 𒐉 be read exactly? Should it just say "Cuneiform Numeric Sign Four Dish"? Should it say 4? Should it say 4, but in Arameic? How should it deal with the fact that the system didn't have a symbol for the Radix Point, and so the actual value of numbers depends on context?
- account42 4y agoI don't think we need to worry about cuneiform yet when we have the current lack of even basic support described in the article. Reading the unicode character name out would be a good fallback for less important cases - certainly be better than skipping over characters. Let's not make perfect the enemy of good.
- Wowfunhappy 4y agoOkay, that's fair, there are a lot of symbols in unicode. But c'mon, it's pretty obvious how roman numeral unicode characters should be read. The software shouldn't choke on those!
- RcouF1uZ4gsC 4y agoSo basically if you care about accessibility, you should not use the Unicode Roman Numerals but rather instead use the ASCII symbols.
- BlueTemplar 4y agoNo, ASCII is even more confusing than Unicode, as TFA points out.
- estebank 4y agoIt depends on the TTS software involved: some were outright skipping the characters which is worse than the ASCII version, but I consider that to be a bug of that software.
- msla 4y agoHere we have an example of a rather annoying mentality: Chopping off bits of the problem to make the solution complete. In this case, we have people saying that Roman numerals shouldn't exist, so existing screen readers won't have to deal with them. This kind of thinking amazes me every time I see it: Do you really think the world is going to bend to your whim just so you don't have to add a couple features? May you forever have to deal with mailing software that refuses to acknowledge the existence of the street you live on!
- Pxtl 4y agoWell, when we have an ambiguous and confusing way of expressing numbers and an unambiguous and familiar way of writing them, why should anybody ever use the former anymore?
- msla 4y agoYou're still missing the point: The world is what it is. The world could be better. The world still is what it is. Your software not handling Roman numerals won't stop people from using them. There are times when making a futile stand against It, which will neither stop It nor slow It down, is necessary for your own psychological well-being. If you draw that line at the existence of Roman numerals, well, go in peace. However, saying that Roman numerals are pointless and shouldn't exist and therefore your software won't support them is really only screwing over the people who rely on that software because you insist on trying to derive Is from Ought.
- usrbinbash 4y ago> Your software not handling Roman numerals won't stop people from using them. Yes, but it will make my software easier to write, grok and maintain, all things that are beneficial to handling the 99.999% of the problem space that doesn't include an ancient way of writing numbers.
- arp242 4y ago> Your software not handling Roman numerals won't stop people from using them. People stopped using the þ and ȝ in English because the technology at the time couldn't handle it. People adopting new practices and habits to make it easier for technology is as old as technology. There are few people who can read MCMXCVI fluently. It's not accessible for the majority of the population, with or without screen reader. Just don't use Roman numerals if you want your number to be widely understood.
- throw0101b 4y agoAnother system is Cistercian numerals (developed by the monastic order): * https://en.wikipedia.org/wiki/Cistercian_numerals https://en.wikipedia.org/wiki/Cistercian_numerals Proposed for, but not in, Unicode: * https://www.unicode.org/L2/L2020/20290-cistercian-digits.pdf https://www.unicode.org/L2/L2020/20290-cistercian-digits.pdf * https://www.kreativekorp.com/ucsur/charts/cistercian.html https://www.kreativekorp.com/ucsur/charts/cistercian.html * https://news.ycombinator.com/item?id=34588808 https://news.ycombinator.com/item?id=34588808 For the LaTeX users: * https://ctan.org/pkg/xistercian https://ctan.org/pkg/xistercian
- extra88 4y agoAnd to further relate to this post, Cistercian numerals in SVG, presented in a fashion usable by screen readers (has <title> with Arabic numerals). https://adrianroselli.com/2021/02/cistercian-svg.html https://adrianroselli.com/2021/02/cistercian-svg.html
- ape4 4y agoThanks Hacker News, I feel sometime in the future I am going to use Unicode Roman Numerals in some application.
- chrismorgan 4y ago> It even pronounced ⅯⅭⅯⅩⅭⅥ as "nineteen ninety six". No, it pronounced it “one thousand, nine hundred and ninety-six”—a number rather than a year. I’m mildly curious which it would have pronounced “1996” as. I think this shows pretty neatly that even numerals are ambiguous as to pronunciation: depending on the situation, I might pronounce the number as “one thousand, nine hundred and ninety-six” or “nineteen hundred and ninety-six” (when it’s a number; which will depend on factors like what other numbers are around, and my mood) or “nineteen ninety-six” (a year; or very occasionally but riskily a number—as that text could suggest “$19.96”!). One possible solution in all these cases is to annotate the desired pronunciation so that that is what a screen reader will encounter. Unfortunately, I don’t think you can do this without negative side-effects that are typically worse than the problem. Ideally it’d be a simple attribute like <img>’s alt or interactive elements’ aria-label, but you can’t use either of these on a simple span, and this won’t work: <span aria-label="nineteen ninety-six">1996</span> So instead you’d have to mess around with CSS to visually hide things and end up with markup like this: <span class="sr-only">nineteen ninety-six</span><span aria-hidden="true">1996</span> … and that damages copy and paste and anything that doesn’t use the CSS. Also screen readers aren’t the only accessibility tech out there, and you may want some to see “1996” rather than “nineteen ninety-six”. Braille printers will very probably fall into one of these two damaged categories, though I’m not actually sure which. (I would quite like to know, actually.) I’ve been dealing with CSS Counter Styles recently (in my own lightweight markup language, powered by that plus parsing), now I have the crazy idea of adapting its @counter-style rule’s speak-as property (… which I will also admit doesn’t actually permit anonymous counter style values, but hey ho): <span style="speak-as:symbols('nineteen ninety-six')">1996</span> Hmm. Could actually be mildly fun in a “nooooooooooo!” kind of a way. For years specifically, I’m curious if wrapping them in <time> changes any screen reader’s understanding: <time>1996</time> (Yes, this is valid. <https://html.spec.whatwg.org/multipage/text-level-semantics.html#datetime-value https://html.spec.whatwg.org/multipage/text-level-semantics....>, ninth case.) I’ve picked on numbers here, but it applies to a variety of other things too. https://news.ycombinator.com/item?id=35168439 https://news.ycombinator.com/item?id=35168439 elsewhere in this thread shows half a dozen different pronunciations of “X”. I really hope there’s something I’ve missed, but I don’t think there is. Perhaps we should make one. I think I’ve also demonstrated that it needs to be speech-specific, not just something like aria-label.
- photochemsyn 4y agoIt'd be nice to replace all Roman numerals with cuneiform sexagesimal instead, aka 'Babylonian cuneiform'. It's a much better system. https://www.researchgate.net/figure/The-cuneiform-notation-of-sexagesimal-digits-Zero-is-represented-by-a-blank-space-The_fig2_314097670 https://www.researchgate.net/figure/The-cuneiform-notation-o... See also, the history of zero: https://en.wikipedia.org/wiki/0#History https://en.wikipedia.org/wiki/0#History
- banannaise 4y agoOr we could replace them with the same system of numeric notation, except using a more commonly recognized charset... as in Arabic numerals, which are exactly equivalent to Babylonian cuneiform since both use base 10 and positional notation.
- devinprater 4y agoUnicode and screen readers rarely mix well, unless non-Latin languages are represented to have a TTS engine use a Russian voice to speak... Oh, that's Ukrainian text... Oops. People spicing up their social media posts with Unicode mathematical italic text gives every screen reader a hard time. Screen reader developers are busy fixing operating system and app developers' accessibility issues much of the time, and barely have time to make text read correctly which wasn't designed with accessibility anywhere near the mind. We either need more accessibility "experts" working on screen readers and text-to-speech tools (try listening to ESpeak for a while. Yes, it's in your Linux package manager,) or more plain developers taking time to consider how a screen reader will read your button labeled only with a picture, or "submit@2xBTN." The problem with the first approach is that there are very few accessibility "experts." Experts, in this arena, are plain people that have done the work to learn how accessibility tools work, how HTML and JavaScript interact with those tools, and do work auditing websites or apps for accessibility, or working at a training center or something. Those people do demanding work that very few others are able to do, so are in short supply. They don't want to come home to dig into code others have written to find that they didn't label a button, or they didn't tag this div with a lang attribute so a TTS engine, if it even has more than the most popular European languages, will speak Ukrainian instead of Russian. Some screen readers don't even try to guess at a non-Latin language, they just read out "Serilic letter ER, Serilic letter U, Serilic letter S," and so on. Why? Because ESpeak, the TTS engine I have in mind, is an open source project that has no guarantees as to its usability in any context or purpose. And yet, because it has support for so many languages that no other TTS engine supports, it's used by Google. Just look at your ChromeBook's list of TTS engines. For the longest time, it was also used in Google Translate. Your open source project might just be used in a big company someday. Yet, how many people contribute to it? How many linguists are on the team? How many people try to make it sound better? The problem with the second approach is that developers aren't taught anything about accessibility, so feel woefully underprepared to face accessibility issues. So they punt to the "experts," of which there are very few. They don't begin looking at documentation, or look into NVDA source code to see how accessibility is done on a programatic level, or oh I don't know, ask disabled users to test their software cause what if they say no? Oh no maybe I'll offend a blind person! /s. So it goes nowhere. So, don't sit there and blame screen reader developers if you've not looked through their code and seen all the workarounds they do to get text to read as well as they do now, and the ESpeak code, now ESpeak-ng cause the old developer died or something, and seen how few maintainers it has. Now, big companies like Apple and Microsoft have little excuse for how crappy their TTS engines and screen readers are. Apple's TTS engine is one of the best, but the voice usually used, Alex, hasn't been updated in some time, although MacinTalk has filed down some of his rough edges. Still, those teams are also very small, not like the hundreds working on the iPhone's camera. Apple could, and should, hire more people in those rolls, especially as the bugs are piling up high at this point. But I doubt they will. They've lost their sense of design and beauty and are now just another enshittified tech company.
- cjm42 4y agoMy browser can't even read that. It renders as "In Hamlet, Act [2163], Scene [2168]..." (where [2163] means a small box with those 4 digits). What font do I need to install to be able to read that as "In Hamlet, Act IV, Scene IX..."? (I'm using Firefox on Arch Linux.)