Ситуация: у вас есть веб-страница с формой, которая имеет имя и фамилию. Приложение поддерживает локализацию (например, метки для этих полей отображаются на выбранном языке и т. Д.).
В английской версии все в порядке, но когда дело доходит до японской, им нужно поменять местами два поля: сначала фамилию, а затем имя. Теперь вам нужно поменять местами текстовые поля и метки. Чтобы избежать неуклюжей логики на стороне сервера, такой как if (Japanese version) { lay out this way } else { lay out the other way }
, мы выбрали решение на основе CSS, в котором для каждой версии загружается CSS-файл для конкретного языка. В японском CSS-файле вы используете такие правила, чтобы элементы менялись местами, но важно то, что HTML, который покидает сервер, всегда одинаков.
Теперь проблема связана с порядком табуляции ... Последовательность табуляции будет следовать за порядком в DOM, поэтому он будет естественным образом переходить из поля имени в поле фамилии.
Интересно, существует ли достаточно чистое решение для исправления как визуального порядка, так и порядка табуляции, которое может быть достигнуто в основном на стороне клиента, без жестких кодировок на стороне сервера.