键盘切换为从右向左语言时更改文本对齐方式?

时间:2011-11-27 18:52:48

标签: ios safari accessibility

根据用户请求,我正在努力使我的(PhoneGap)webapp更好地使用RTL语言,例如希伯来语。我希望使用这些语言使我的输入和textareas更好地工作。当用户将键盘切换为这种语言时,输入方向会根据需要自动切换到从右到左。但是,文本对齐保留在左侧,这是不幸的。我意识到我可以使用 dir 属性切换文本对齐方式,如下所示:

<input dir="rtl" />

我的计划是使用JavaScript以某种方式检测RTL输入语言并将此属性添加到所有输入和textareas。然而,这似乎有点麻烦。有一种我更容易忽视的方式吗?我不喜欢为这个简单的任务添加更多JavaScript的想法。

1 个答案:

答案 0 :(得分:1)

如果整个页面都是用希伯来语或阿拉伯语编写的,那么您应该在dir元素上添加html属性,以及lang="he" / lang="ar"属性(后者是为VoiceOver而不是读希伯来语/阿拉伯语而认为它是英语。字母和发音完全不同:))。

如果只有部分页面是用希伯来语写的,那么每个包含希伯来语文本的元素都应该具有这些属性(或其父级),而英语中的其他部分应该具有dir="ltr" lang="en"属性,这样就不会有文本没有相应的langdir属性。在单个父项上添加它们比在每个单独的HTML元素上添加它们更快,如果父项有5个英语节点和1个希伯来语节点,它只需要2个属性:1表示父项lang="en" dir="ltr",另一个表示孩子包含希伯来语的元素。

对于由rtl编写引起的样式问题,您可以使用其中一个属性作为每个CSS属性的巨型开关,例如float使用leftright值(以及类似属性) rightborder-rightmargin-rightmargin: t r b l;;请在UTF-8 and CSS上查看我的第一个答案的第二部分。注意:iOS没有问题高级 CSS选择器,当我们不得不支持IE6时,这只是梦想;))