2012-07-09 1 views
2

컨텍스트 : 현재 Wt (Web Toolkit)는 앵커가 가리켜 야하는 링크가 비어있는 경우 <a> 태그가 아닌 <span> 태그로 WAnchor 객체를 렌더링합니다.<a> 태그에 href 속성이없는 브라우저 문제가 있습니까?

그러나이 방법에는 몇 가지 문제가 있습니다. 특히 CSS 스타일링에 불필요한 복잡성이 추가되는 경우가 있습니다 (예 : Twitter Bootstrap 사용시).

내가이 동작을 변경하는 패치를 제안 WT는 개발자 중 하나와 토론에 참여했습니다 <a> 태그를 렌더링 그는 현재의 행동이 특정 브라우저의 결과로 구현 주목 http://redmine.emweb.be/issues/1348

을하는 데 문제가 href 속성 (이전 모바일 브라우저 일 가능성이 있음)없이

공식 HTML 사양에 따르면,이 아무런 문제가 없다 :

  • http://dev.w3.org/html5/spec/single-page.html#the-a-elementa 요소가 더 href 속성이없는 경우, 다음 요소는 링크 달리 배치 된 수있는 위치에 대한 자리 표시를 나타냅니다 , 관련성이있는 경우.
  • http://www.w3.org/TR/html401/struct/links.html#edef-A작성자는 href, name 또는 id를 지정하지 않은 앵커를 지정하지 않는 A 요소를 만들 수도 있습니다. 이러한 속성 값은 나중에 스크립트를 통해 설정할 수 있습니다. 나는 하나의 경고를받은

    <!DOCTYPE html> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 
    </head> 
    <body> 
    <a>Example of an anchor with no href attribute.</a> 
    <a href>Example of an anchor with a null href attribute.</a> 
    <a href="">Example of an anchor with an empty string href attribute.</a> 
    <a href="http://www.google.com/">Example of an anchor that links to Google.</a> 
    </body> 
    </html> 
    

    :

그리고는 내가 아는 한 ...

<a>Link</a> // OK 
<a href>Link</a> or <a href="">Link</a> // Undefined? (but common behavior is to navigate to the current URL) 
<a href="/items">Link</a> // OK 

나는 또한 W3C의 HTML5 검사기로 다음과 같은 문서를 확인

Line 9, Column 8: Attribute href without an explicit value seen. The attribute may be dropped by IE7. <a href>Example of an anchor with a null href attribute.</a>

,

그래서 내 질문은 : <a> 태그에 href 속성의 부족 특정 브라우저에서 문제가 발생 알려진 상황이있다? IE? 모바일 사파리?

답변

2

href 속성이없는 a 요소는 항상 HTML에서 유효하며 모든 브라우저에이 문제가 발생할 것으로 예상할만한 이유가 없습니다. 이러한 요소는 실질적으로 span과 유사하며, 어떠한 의미론도 결여된다. 전통적으로 <a name="...">...</a>은 대개 href 속성이없는 대상 앵커를 설정하는 데 사용되었으며 이러한 요소는 모든 브라우저에서 작동하지만 더 현대적이며 id 속성 (모든 요소에서)을 사용하는 것이 좋습니다.

사용하면 href=""은 형식적으로 정확하며 공백 URL이있어 동일한 문서 참조로 해석됩니다.

href을 아무 값없이 사용하면 현재 HTML 사양에 맞지 않습니다. HTML5 초안은 HTML 직렬화에 사용될 수 있으며 href=""과 같습니다. 브라우저가 그런 식으로 행동한다고 ​​보장 할 수는 없습니다.

관련 문제