При активных JQuery mobile
и VoiceOver
после смены страницы с помощью
$.mobile.changePage("page1.html");
VoiceOver
не зацикливайтесь на названии. Я хочу заставить фокус VoiceOver
прочитать заголовок новой страницы
НЕ рабочие тесты:
$(".ui-page-active .ui-title").click().focus().tap();
$(".ui-page-active .ui-title").trigger("create");
$(".ui-page-active .ui-title").attr("role","alert");
$(".ui-page-active .ui-title").attr("role","dialog");
тестовая страница, не всегда работает https://jsfiddle.net/218xLbwd/14/
РЕШЕНИЕ: используйте событие beforeshow, чтобы сосредоточиться на заголовке. также благодарим Эрика Д. Джонсона за его усилия.
//for Jquery till 1.4.0
$(document).on('pagebeforeshow', function() {
$(".ui-page-active > .ui-header h1").attr('tabindex', "-1");
$(".ui-page-active > .ui-header h1").focus();
});
//for Jquery 1.6.0+
$(document).on('pagecontainerbeforeshow', function() {
$(".ui-page-active > .ui-header h1").attr('tabindex', "-1");
$(".ui-page-active > .ui-header h1").focus();
});