2016-11-01 1 views
1

페이지 상단에 이미지가있는 사이트가 있습니다. 이 사이트는 완전히 반응합니다.반응 형 사이트에 CSS를 사용할 수 있지만 내 사이트에 액세스 할 수 있도록 이미지에 대체 텍스트를 제공하려면 어떻게해야합니까?

데스크톱보기의 경우 사이트의 헤더에로드 할 특정 이미지가 있습니다. 모바일보기의 경우 이미지가 다릅니다. 는 CSS에서

, 내가 좋아하는 뭔가를 사용

.headerimage { background:url(/images/header-desktop.png) no-repeat top left; } 

@media only screen and (max-width: 480px) { 
    .headerimage { background:url(/images/header-mobile.png) no-repeat top left; } 
} 

을 그리고 HTML에서 그냥 <div class='headerimage'></div>

내 질문이있다 : 어떻게 태그 (AN IMG에 나는 것 같은) ALT 텍스트를 추가 할 수 있습니다 그래서 내 사이트는 스크린 리더를 위해 완전히 액세스 할 수 있으며, 대체 텍스트 등으로 SEO 혜택을받을 수 있습니까? 분명히 IMG 태그를 사용하는 것으로 전환 할 수는 있지만 처리 할 IMG 태그가 두 개 있으면 응답 성을 유지하기 위해 심각한 해킹이 필요합니다.

+0

https://developer.mozilla.org/en/docs/Web/HTML/Element/picture (하지만 난의 중복으로이를 표시 할 수 있습니다 질문이 있어야합니다) – Quentin

+0

데이터 속성 ..... 또는 보이지 않는 텍스트. –

+0

@Paulie_D - 데이터 속성은 아무 것도하지 않습니다. 보이지 않는 텍스트는 끔찍합니다 (그리고 alt 속성의 대부분의 점인 독자를 화면에 보이지 않게하는 경향이 있습니다). – Quentin

답변

5

HTML 5는 미디어 쿼리와 일련의 이미지를 지정할 수 있습니다 the picture element을 소개합니다.

<picture> 
<source srcset="/images/header-mobile.png" media="only screen and (max-width: 480px)"> 
<img src="/images/header-desktop.png" alt="Foo"> 
</picture> 
+0

요소가 현재 Android의 최신 Chrome, Opera 및 Chrome (개발 된 Firefox에서 지원됨)에서만 기본적으로 지원되며 향후 다른 브라우저에서 널리 채택되지 않을 수도 있습니다. – rJ7

+0

@ rJ7 - 그건 틀렸어. (내가 제공 한 링크의 정보와 모순된다.) 오페라 미니 (fallback으로 ''요소 사용)를 제외한 모든 개발중인 브라우저가 지원한다. http : // caniuse.co.kr/# feat = picture – Quentin

+0

감사의 친구,이 그림 요소에 대해 알았는데, 이것에 대한 검색을하는 동안 이것을 발견했습니다. 단점 – rJ7

-1

해킹 된 이미지, 해킹 추가.

가짜 요소는 깨진 이미지 용으로 작동합니다. Read here

의사 요소를 사용하여 중단 점에 다른 이미지를 표시합니다.

img::before { 
    content: ""; 
    background-image: url('http://lorempizza.com/200/200'); 
    width: 200px; 
    height: 200px; 
    display: block; 
    position: absolute; 
} 

@media (max-width: 400px) { 
    img::before { 
    background-image: url('http://placehold.it/200X200') 
    } 
} 

Fiddle

+0

downvote에 대한 이유를 듣고 싶습니다. –