Note also that there's currently a regression in Chrome that affects how RTL text is rendered in inputs with dir='auto'. They just shipped a fix though so it should be included in the next release.
There is a world outside the US but you don't have to support it, depending on what your site does. I'm not american. I'm not even a native english speaker. And 99% of the sites I go to are perfectly fine if they don't allow neither usernames nor posts containing RTL characters.
If it's not solved at the browser or OS level, I've got about zero obligation to support this.
And, no, this is not about oppressing minorities.
If you want to expand your audience to support more of the world, that is totally cool, but as you say, there is no obligation to do so.
I have something to tell you that will help you solve your problem, but you should sit down first, because it's probably going to make you sad...
I think you are responding to this sentence read literally:
> The first results page of Google never lies, so I thought this was just inherently a problem that required direct intervention, and so was never quite able to prioritize it (so much for my moral high ground).
but I'm almost 100% confident that it was meant with the sarcasm that it deserves, as indicated by the later sentence:
> Google has been lying to us about RTL support in inputs.
Whatever the users of the internet prioritized as important showed up first. There is no lying. Google search results and now ChatGPT/AI responses are pretty much a reflection of the information base provided to it. Biases, inaccuracies, et al. Its a weighted mirror on humanity (where some cultures/languages/regions have contributed more data and hence have a higher weight - like English speaking corpus).
I think you are responding to this sentence read literally:
> I have something to tell you that will help you solve your problem, but you should sit down first, because it's probably going to make you sad...
but I'm almost 100% confident that it was meant with the sarcasm it deserves.
I assume this is just the Unicode bidirectional algorithm failing, as it is wont to do. I imagine that a special cased algorithm that understood that HTML tags (the stuff between < and > inclusive) should render as atomic things, internally LTR, but without imposing their direction on surrounding characters.
In this example, the algorithm should be willing to switch direction in the middle of the sequence “.<“
If you want to force mixed-direction content to render correctly, you often need to insert bidirectional control characters to specify where a certain directional run begins/ends. That doesn't make sense to add in this case, though, because it would mess up the rendering in the actual input example.
Perhaps a syntax highlighter could learn to insert “first strong isolate” and “pop directional isolate” and to also enforce that content leaves the stack alone?
[1] https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical...
If I search for textarea and BiDi text, in pretty much all variations I can think of https://www.w3.org/International/talks/1602-oman is one of the top links.
And right in there, the "What if you don't know the direction in advance" section, https://www.w3.org/International/talks/1602-oman/#advance
I assume the problem is that the author doesn't really know the space, and so didn't even know that "BiDi" is the right search term here. (For "bi-directional text", since you don't want to specify a writing direction)
I don't even fault them for thinking "the results are wrong" - they aren't, if you search for RTL they're the right answer. But you won't know that until you know the space a bit better. This highlights a problem with relying on the Internet for answers - it doesn't know what you don't know. Sit down with anybody who's dealt with BiDi for a while, and one of their first questions will be "Do you mean RTL or BiDi"?
So, if you can, ask people, not software. Especially if you don't know the space.
Accusations of gatekeeping should be accompanied with evidence of malice if they are to be taken seriously. Correcting (or, more like augmenting) someone speaking authoritatively on something is not gatekeeping. Also, gatekeeping has a social value, when used at the right time in the right circumstances. Bouncers literally keep the gate at a venue. Relevant experience in a given field is often necessary to have high-level (or in-depth) conversations about something within said field. If you have a group of people comparing sorting algorithms and some dude rolls up to offer his opinion without even understanding what a sorting algorithm is, would you 'appreciate' their uninformed and uninsightful take on something, lacking the shared knowledge of your group? Or would you rather clarify where the guy is wrong, refer him to a resource, and tell him to come back when he knows a bit more about what he's talking about?
Don't get hung up on details here. It's not about sorting algorithms. It's about 'deep knowledge' in a field needing to be shared to elevate discussion, for lack of a better descriptor.
Gatekeeping becomes a problem when it's mean, when it isn't helping anyone learn more, and when it's not protecting a culture or improving discussion in any meaningful way. Helping newbies learn from better sources is arguably gatekeeping -- it's just not considered harmful.
Now if we could do something about baseless accusations...
No amount of "awareness" is taking that away.
Also, please tell me where I "belittled" the author.
A number of other automatic behaviors exist simply when you change your primary language, and this is one of them that should change by default. You'll know this by experience if you speak another language and occasionally flip your primary language over. All the sites you browse start respecting your lang and locale settings.
Other technical or format-specific inputs should retain their relevant direction.
In the meantime, browser plug-in?
The other common situations are explicitly choosing my language in a drop down menu every time I visit it, or some user preferences thing. Often sites come up with a hybrid approach and I get mixed language/locale content.
I threw pretty much all his html, CSS and JS once I was allowed to render most of the game with WebGL
RTL has really bad support on the web, and RTL folks are constantly having to input into and read RTL text in interfaces designed for LTR which makes things really awkward to read.
it is one of maybe 12 global non-event attributes.
Later then I just had no reason to read specs, HTML I wrote usually worked. And when not, there was google.
http://khumuunbichig.montsame.mn/index.php?command=newsall&r...
mods, pls fix the title.
Frameworks and browsers should be designed that if you totally ignore rtl support, the browser/framework just does some usable default.
Just like if you don't set a font size, the browser chooses one for you. Or if you don't specify the background color, one is chosen for you.
I mean Safari and Firefox only recently (2021) got datetime / datetime-local input support and afaik they still aren’t feature complete (html5). Date pickers have been one of the most popular / important widgets in Javascript for like the last 20 years or so. The only reason edge has it is because it’s backed by chrome (IE / MS was notorious for foot dragging in the space).
Now if Chrome could come onboard with hanging-punctuation{}, I'd be set!
Full RTL flips the entire application, and most styling & libraries had a hard time with that.
For instance in react native, the react native flatlist will have some weird quirks doing that.
I suspect he had some experience in reporting this category of bugs.
But in general, i don't think there is a right answer that works in all cases. The existing defaults (bidi algorithm) do make a best guess that is probably the best guess possible.
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_att...
What I don’t understand is why dir="auto" isn’t set as the default value, allowing browsers to choose text direction based on the lang attribute or the text content.
From from your mouth to God's ear.
I wish every program would default to system-wide settings. But unfortunately, too many do their own things.
Why does Microsoft Office need a separate dictionary from the rest of my computer? Why does Wrike intercept ⇧⌘N? Why doesn't Adobe Photoshop use ⌘, for preferences like every other Mac program for the last 38 years?
It's the thousand little annoyances users run into every day that make them hate computers.
Users want OS's to be consistent across apps, but users also want apps to be consistent across OS's. And so the reality is each feature is going to be decided on a case by case basis and the end result will be somewhere in the middle.
The “world” is no different. We have different but often overlapping protocols for all kinds of fundamental verbs in society (payment, government services, communication).
Only a handful of critical technology has seen some standardization. Stuff like electricity, language (to some extend), cars. Everything else is a complete shit-show. I don’t get why “computers” get such a hard time. These things are getting more complex than small societies.
Why isn't it done by default by the browser? What is the browser default? (Strangely, MDN docs don't seem to indicate.) And if it's not already this, why not?
Dir=auto means ignore what came previously when trying to guess what direction this text is. Not setting a dir attribute means the browser should use the text in the parent/previous sibling element for figuring out what direction this element's text is. Auto might make sense as a default for a <textarea> where user input is disconnected from the html, but would be a horrible default for most tags like <b>