Mac (10.8.5) 및 Safari [6.2.4]를 사용하고 있습니다. 입력란을 그룹화하고 범례 텍스트를 추가하기 위해 필드를 만들었습니다. 전설을 UI에서 숨기려면 CSS를 적용했지만 범례와 레이블은 DOM에서 사용할 수 있습니다.필드 세트 범례로 Apple Voice over access 문제가 발생했습니다.
Windows/IE의 NVDA는 예상대로 작동합니다. 필드 집합 범례를 읽고 입력 레이블을 읽습니다.
위의 Mac/Safari 조합에서 Apple Voice는 전설을 읽지 않습니다. Mac/Safari 버전과 관련이 있습니까?
<fieldset >
<legend class="screen-read-only">Please sign in to this application</legend>
<div >
<div >
<label for="USER" class="screen-read-only">Enter your email or username here to test screen reader in MAC</label>
<input class="no-inline-checker ng-pristine ng-invalid ng-invalid-required ng-touched" tabindex="0" type="text" id="USER" name="USER" placeholder="Username or Email Address" data-ng-model="email" required="" data-autocorrect="off" data-autocapitalize="off" data-test-id="myr-signIn-emailAddress" aria-required="true" aria-invalid="true">
<span class="inline-checker icon-error sign-in ng-hide" data-ng-show="submitted && form.USER.$error.required" aria-hidden="true"></span>
</div>
</div>
<div class="row overrite-margin">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"><div class="myr-remember-me row"><span data-test-id="myr-singin-rememberMe" class="myr-checkbox col-xs-1" tabindex="0"><input data-ng-model="rememberMe" type="checkbox" name="rememberMe" id="rememberMe" class="myr-checkbox-input ng-pristine ng-untouched ng-valid" tabindex="0" aria-checked="false" aria-invalid="false"> <label for="rememberMe" class="myr-checkbox-box"><span class="screen-read-only">Remember me checkbox</span></label></span>
<span translate="_remember_me">Remember Me</span></div></div>
</div>
</fieldset>
당신이 샘플 코드를 제공 할 수 있습니까? 아마도 CodePen 또는 JSFiddle? Mac OS/VoiceOver는 아니지만 iOS/VoiceOver에서이 문제를 알고 있습니다. – aardrian
@ aardrian이 코드 스 니펫을 업데이트했습니다. 레이블에 적용된 CSS는 일반 사용자가 볼 수 없도록 레이블을 숨기는 것입니다. –
정상적인 사용자가 아닌 * 감시 된 * 사용자에게서 숨길 수 있습니다. 또한 화면 판독기 사용자의 3 분의 1이 블링되지 않음을 기억하십시오. 사용중인 CSS는 무엇입니까? 오프 스크린? 잘 렸니? 디스플레이 속성? – aardrian