2017-02-09 4 views
0

문맥에 따라 다른 기능인 애플리케이션의 사용자 동작을 추적 할 수 있습니다. 지금 우리는 트랙이 내의 모든 클릭 이벤트 및 많은 기능을별로 분류 할 수 있도록 우리는 사용자 정의 각 지침을 만든이를 위해NVDA에서 HTML 표제를 클릭 할 수있는 것으로 간주합니다.

,이 같은이 지침에 HTML의 myFunctionality 및 포장 부분을 말한다 특정 기능의 사용을 추적 할 수 이름 -이 지침 내에서

<myFunctionality functionality-name="Login"> 
<!--HTML of this functionality--> 
</myFunctionality> 

<myFunctionality functionality-name="RegisterUser"> 
<!--HTML of this functionality--> 
</myFunctionality> 

을, 우리는 첨부 이벤트 핸들러는 click 이벤트를 캡처하고 그에 따라 로그인합니다.

.directive('myFeature', [function() { 
    return { 
     restrict: 'E', 
     link: function(scope, element, attrs) { 

      //more code 

      element.on('click.myFeature', '*:not(select, :radio, :checkbox)', function(event) { 
       logEventDetails(event); 
      }); 

      //more code 

     }]) 

NVDA 화면 판독기를 사용하여 내 페이지를 읽을 때를 제외하고는 훌륭하게 작동합니다. NVDA는 heading 개의 요소를 클릭 가능한 것으로 읽습니다. 이 호에 대한 예를 들어 -

<h1> Test Heading </h1> 

NVDA 읽

테스트 1

나는이 같은, 를 사용하여 시도 (버전의 다양한 클릭 레벨 제목 제목)하지만 작동하지 않았습니다 .-

$(':header').off('click.myFeature'); 

TL

다음 샘플 HTML을 고려하십시오. 여기 clickdiv과 관련이 있으며 h1과는 관련이 없습니다. 그러나 화면 판독기는 제목 요소를 클릭 가능한 것으로 읽도록 작동합니다.

<html> 
<body> 
    <div onclick="alert('Hello from Div!')"> 
     <h1>Test Heading</h1> 
    </div> 
</body> 
</html> 

클릭 할 수없는 이벤트를 NVDA가 읽을 수 없게하려면 어떻게해야합니까?

답변

0
<div onclick="alert('Hello from Div!')"> 
    <h1>Test Heading</h1> 
</div> 

어떻게 클릭과 같은 비 - 클릭 이벤트를 읽을에서 NVDA를 방지 할 수 있습니까?

클릭 가능한 요소 안에 있기 때문에 제목을 클릭 할 수 있습니다.

클릭 가능한 요소 바깥에두기 만하면됩니다.

+0

답장을 보내 주셔서 감사합니다. 예, 이것이 작동하는 방식이라고 생각합니다. 부모 요소에 클릭이있을 때 클릭 할 수 없다고 예상 했었습니다 :(애플리케이션 디자인의 경우 컨트롤의 위치를 ​​변경할 수 없습니다.) – Yogi

+0

프로젝트에서 동일한 문제가 발생했습니다. 분석을 위해'onlick'으로 동적으로 태그를 붙이는 DTM (Dynamic Tag Management)은 또한'tabindex = "- 1"을 _semantic 태그 _에 넣으면 NVDA가 "clickable" [NVDA 문제에 대한 토론을 읽을 수 있습니다] (https://github.com/nvaccess/nvda/issues/5481#issuecomment-241574110), 주요 개발자 중 한 명이 행동을 설명합니다.또한 https://github.com/nvaccess/nvda/issues/6639에서 NVDA와 관련된 문제가 있습니다. –

관련 문제