Стиль отображения скрыт и форма доступности, подходящая или нет? - PullRequest
0 голосов
/ 06 марта 2012

Предположим, у меня есть БД пользователей, и у меня есть две основные функции: для просмотра или редактирования существующих пользователей.

На странице будет отображаться пользователь, использующий dl, например:

 <h1>Information</h1>
 <dl>
      <dt>Name:</dt>
      <dd>
        xyz
      </dd>
      <dt>Phone Number:</dt>
      <dd>
        (123)-424-2345
      </dd>
      <dt>Hobby:</dt>
      <dd>
        Fishing
      </dd>
</dl> 

На этой же странице будет форма для редактирования существующей информации, например:

<form action="#">
    <fieldset>
    <legend>Information</legend>

    <label>Name:</label><input type="text" name="name" />
    <label>Phone Number:</label><input type="text" name="phoneNumber" />
    <label>Hobby:</label>
    <select>
        <option value="1">Coding</option>
        <option value="2" selected="selected">Fishing</option>
        <option value="3">Reading</option>
    </select>

    <input type="submit" />
    </fieldset>
</form>

Итак, в теле документа HTML оба эти раздела будутприсутствовать в своем собственном подразделении (div).То, что будет отображаться в браузере, будет определено на стороне клиента через JavaScript и использование стиля CSS display, задающего соответствующий раздел, чтобы не отображать (быть скрытым).

AJAX, популярная вещь, которую онидней, перезагрузит каждый раздел после отправки формы.

Конечная цель заключается в том, чтобы одновременно для пользователя присутствовал только один (либо он просматривал существующий, либо мог включить возможность редактирования,после завершения редактирования AJAX перезагружается, и режим просмотра восстанавливается, а форма снова скрывается).

Итак, с точки зрения HTML5 и доступности этот тип вещей является распространенным и приемлемым?Или лучше заставить AJAX изменять содержимое div между просмотром и редактированием (например, больше вызовов AJAX)?Или есть какое-то другое лучшее решение?

Ответы [ 2 ]

0 голосов
/ 06 марта 2012

Лучше пойти на AJAX. Поскольку это в основном элементы формы, надеюсь, что поисковому роботу не будет ничего интересного (точка зрения SEO).

«display: none» делает контент недоступным для программ чтения с экрана. Таким образом, существует проблема доступности при использовании скрытых элементов. Страница будет тяжелее, если мы будем использовать столько скрытых элементов на одной странице.

Преимущество использования скрытых элементов заключается в том, что пользователь будет быстрее получать разделы. Мы можем избежать дополнительных пингов сервера и избежать хранения данных перед отправкой (если есть).

0 голосов
/ 06 марта 2012

Это потенциальный риск. Кто-нибудь сможет использовать любой современный браузер, чтобы сделать форму видимой, отредактировав ее свойство css, и затем сможет отправить форму.

Если вы используете AJAX, почему бы не использовать один элемент <div>, который отображает представление в режиме просмотра, а затем при запросе формы html будет записан в div из запроса AJAX. После отправки или закрытия формы вызов AJAX записывает новый режим просмотра обратно в div.

Таким образом, вы можете убедиться, что только пользователи с необходимыми разрешениями смогут просматривать форму, поскольку форма не будет существовать в html, если вы не будете обслуживаться при правильных обстоятельствах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...