Полная перезагрузка страницы для ajax, когда Javascript отключен

Я использую JSF2.

У меня есть кнопка, которая вызывает действие, а затем отображает часть страницы (довольно просто)

 <h:commandButton value="foo" action="#{myBean.myAction}" >
              <f:ajax execute="@form" render="#content" />
  </h:commandButton>

Сайт должен быть удобен для использования людьми с ограниченными возможностями, поэтому мне нужно поддерживать просмотр, когда JavaScript отключен.

Для меня лучшим решением было бы полностью перезагрузить страницу при отключенном JS.

Я подумал о том, чтобы установить файл cookie при загрузке первой страницы, сообщающий, есть ли js здесь или нет, а затем использовать rendered="someBeanThatReadsCookies" для отображения кнопки с ajax, если js здесь, и обычной кнопки, если нет, но я нахожу это решение немного уродливым.

Если бы у кого-то было более элегантное решение, я был бы рад.

Я знаю, что проблема очень похожа на эту проблему.

Однако я не нахожу данный ответ удовлетворительным. Я уже использую commandButtons и отключаю JS, просто заставляю кнопку ничего не делать.


person Leah    schedule 24.08.2018    source источник
comment
Какие инвалиды? Я не эксперт в этой области, но из того, что я читал, спецификации ARIA отлично работают для браузеров с включенным Javascript.   -  person Kukeltje    schedule 24.08.2018
comment
Слепые/слабовидящие люди, как правило, отключают JS, потому что существует так много веб-сайтов с JS, которые мешают программе чтения с экрана.   -  person Leah    schedule 24.08.2018
comment
Хмммм... А вы уверены, что сайты с js, который мешает скринридеру, вообще работают, если js отключен. Я лично думаю, что они не будут. Таким образом, чистый результат отключения javascript равен нулю. Но опять же, я использую PrimeFaces только с довольно хорошей поддержкой ARIA и JS (и никогда не получал просьбу сделать сайт полностью функциональным с отключенным javascript).   -  person Kukeltje    schedule 24.08.2018
comment
Ну, я сам не отключен, поэтому я не совсем уверен, но это часть моей спецификации, что отключение JS не должно мешать каким-либо действиям..... T_T Ну, использование p: commandButton почти то же самое. Кнопка становится бесполезной, когда JS деактивирован.   -  person Leah    schedule 24.08.2018
comment
99,9% серьезных веб-фреймворков становятся бесполезными, когда отключен javascript. -› 99,9% веб-приложений становятся бесполезными. И поскольку спецификации ARIA требуют отключения javascript, я думаю, что нет причин его отключать. Кнопка — это первое, что нужно сделать, если вы хотите создать ПОЛНОЕ приложение, удобное как для обычного пользователя, так и для пользователя с ограниченными возможностями, где последний не использует javascript, почти как разработка двух приложений (что в любом случае может быть проще)   -  person Kukeltje    schedule 24.08.2018
comment
Я нашел библиотеку, похожую на Primefaces, у которой есть кнопка, которая работает для меня. Но спасибо, что подумали об этом ^^   -  person Leah    schedule 24.08.2018
comment
Удачи вам в ваших начинаниях. CommandButton «простой». остальной части приложения не будет... Но я восхищаюсь усилиями   -  person Kukeltje    schedule 24.08.2018


Ответы (1)


Для всех, кто интересуется, библиотека Bootsfaces предлагает именно то поведение, которое я искал.

 <b:container id="update-me" > 
       <b:commandButton value="button" ajax="true" update="update-me" action="#{barreOutilsControleur.fontSizePlus}"  >
       </b:commandButton>
 </b:container>

Он перезагружает страницу, когда JS отключен ^^.

person Leah    schedule 24.08.2018