마우스 클릭 했을 때 글씨 보이게 하는 방법

웹이 점점 화려해 지고 인터넷속도가 빨라지면서 웹페이지들은 점점 빨라지고 있고 디자인은 갈수록 중요해지고 있기 때문에 웹사이트에는(특히 국내에서) 정말 많은 이미지가 들어가고 있다. 근데 HTML 코드를 보다보면 정말 흔히 볼 수 있는 이미지버튼의 형태가

<a href="#"><img src="경로" alt="" /></a>

이런 형태이다. 나도 회사처음 들어왔을때 내 바로 윗사람이 이렇게 쓰는것을 권고하기도 했었고 대부분의 사람들이 이런 형태로 이미지 버튼을 만들고 있는데 이건 정말 잘못된 형태의 html이다. 무엇보다 이렇게 써서 얹을 수 있는 잇점이 단 한개도 없다고 생각한다.

저렇게 허위 a태그를 거는 상황은 100% 이미지를 버튼으로, 즉 클릭용으로 사용하기 위함이다. 그래서 img에 onclick 속성을 사용하고 있다.

<a href="#"><img src="경로" alt="" onclick="clickBtn();" /></a>

이렇게 이벤트까지 추가된 형태가 일반적이다.(물론 onclick도 인라인으로 하지 않고 따로 빼는게 표현과 기능의 분리면에서 더 낫기는 하지만 이건 여기서 논할 얘기는 아니니...) IMG태그 만으로도 클릭은 되는데 굳이 이렇게 A태그를 걸어준 단하나의 이유는 다른이미지랑 다르게 버튼처럼 보이게 하기 위해서 이다. 즉 이미지위로 마우스 커서가 이동했을때 클릭이 가능하다는 걸 사용자에게 알려주기 위해서 마우스 커서가 화살표에서 손모양으로 바뀌게 하기 위함이다. 그냥 이미지태그만 있어도 되는걸 커서바꾸자고 a태그로 감싸버린 것이다.

그럼 이렇게 하면 끝이냐... 브라우저마다 특성이 있긴 하지만 기본적으로 이미지에 A태그를 걸면 IE에서는 보기싫은 파란색의 테두리가 생겨버린다. 하이퍼링크가 달렸다는 것을 알려주기 위해서인데 요즘은 이걸 쓰는 사람이 없기 때문에 대부분은 border="0"을 주어서 해결한다.

<a href="#"><img src="경로" alt="" onclick="clickBtn();" border="0" /></a>

그럼 코드가 이렇게 되어버린다. 이미지버튼하나인데 코드가 너무 길어져버렸다. 단지 커서 바꾸자고???

이건 CSS를 사용하면 금방 해결할 수 있다.


<style>
.btn {cursor:pointer;}
</style>
<img src="경로" alt="" class="btn" onclick="clickBtn(); />

커서의 모양을 바꾸는 것은 스타일로 해버리면 된다. (보통은 img에도 border:0을 기본적으로 주기는 하지만 이 상황에서 꼭 필요한건 아니다.) 그리고 심플한 img태그만 사용하면 된다. CSS를 사용한게 훨씬 많아 보인다면 웹사이트에 버튼이 한 100개쯤 있다고 생각해봐라. CSS는 공통적으로 쓸수 있으니 이미지 태그부분만 작성하면 끝이다.

A태그를 이미지를 감싸줄 필요가 없음을 얘기했고 그냥 하던대로만 하기에도 A태그를 사용했을 때의 문제가 있다. 좀 원론적인 웹표준얘기대로 A태그는 하이퍼링크를 위한 것이기 때문에 A태그는 하이퍼링크만 사용해 주는 것이 좋다. 이건 머 웹표준을 동의하지 않는 사람들에게는 그리 통하지 않을 논리고....

A태그의 구조를 보면 Anchor를 사용한 것임을 할 수 있다. Anchor는 다들 알고 있을꺼라고 생각하지만 간단히 설명하자면

<a href="#title">제목으로 이동</a>
........중간내용.............
<h3 id="title">제목</h3>

과 같이 사용하는 것이 Anchor이다. #과 같이 사용하며 #이 있으면 해당경로로 페이지를 이동시키는 것이 아니라 현재페이지에서 해당 id를 가지고 있는 엘리먼트를 찾아서 이동한다. 이걸 이용해서 #은 주고 id는 null을 주어버린 것이다. 그래서 페이지는 다른페이지로 이동하지 않고 현재 페이지에서 Anchor를 찾지만 찾지 못하는 허위 Anchor를 사용한 것이다.

말했듯이 Anchor는 현재 페이지의 해당위치로 이동하는데 이건 스크롤이 있어도 이동된다. 여기서 문제가 발생하는데 href="#"을 해 놓으면 무조건 페이지 최상단으로 이동한다. 이미지 버튼이 윗쪽에 있을 경우에는 상관없지만 스크롤 내려서 아래에 있다고 생각하면 버튼을 누를때마다 페이지 스크롤은 맨위로 올라가고 다시 스크롤 내려서 다른걸 해야하는 사용자의 편의성을 무진장 해친다...

거기에다가 Anchor도 URL에 포함되기 때문에 저 버튼을 누르면 주소맨뒤에 #가 붙게 된다. 크게 문제가 있다고 할 수는 없지만 보기에 좋지 않은건 사실이다. 그리고 자바스크립트 펑션을 호출해서 location.href로 페이지 이동만 할꺼라면 그냥 A태그에 경로를 주자!!

별거 아닌 내용으로 은근 길게 작성해 버렸다. 그냥 작업하는데 버튼마다 계속 A태그 달려있는거 보다가 짜증나서.. ㅎㄷㄷ

덧) 약간은 도전적인 제목이었는데 역시나 내 영역은 아니라 약간의 논란이 있었다. 보통 작성뒤에 잘못된 내용은 빨리 수정하는 편이지만 이번에는 애매모호한 면이 있어서 이 포스트를 읽으시는 분들은 아래 댓글들도 꼭 읽어주시기 바람. 위에 얘기한대로는 링크이동이 아닌 버튼의 경우에 a를 안쓸경우 선택할때 점선이 생기지 않아서 접근성을 해칠우려가 있음. 명확한 결론을 내리기 어려운 관계로 나라디자인의 정찬명님의 포스트를 참고로 건다. 많이 고민해 보아야 할 문제...

2008. 11. 11

텍스트 및 디스플레이 설정 변경

빠른 설정에서 접근성 설정을 찾아 선호하는 텍스트 및 콘텐츠 설정을 빠르게 변경할 수도 있습니다.

도움말: 이러한 설정은 설정 마법사에서 처음부터 지정할 수도 있습니다.

디스플레이 크기 및 텍스트 변경

중요: 글꼴 크기 설정이 적용되지 않는 앱도 있습니다.

글꼴 크기를 작게 또는 크게 설정하는 방법은 다음과 같습니다.

  1. 기기에서 설정 앱을 엽니다.
  2. 글꼴 크기를 검색하여 선택합니다.
  3. 원하는 글꼴 크기로 변경하려면 슬라이더를 왼쪽 또는 오른쪽으로 움직입니다.

디스플레이 크기를 작게 또는 크게 설정하는 방법은 다음과 같습니다.

  1. 기기에서 설정 앱을 엽니다.
  2. 디스플레이 크기를 검색하여 선택합니다.
  3. 원하는 디스플레이 크기로 변경하려면 슬라이더를 왼쪽 또는 오른쪽으로 움직입니다.

도움말: 각 슬라이더를 원하는 크기로 설정한 후 글꼴 및 디스플레이 크기가 어떻게 변경되는지 미리 확인할 수 있습니다. 마음에 들지 않으면 설정 초기화를 탭하여 재설정할 수 있습니다. 이렇게 하면 디스플레이 크기와 텍스트 환경설정이 기기의 원래 설정으로 초기화됩니다.

굵은 글꼴 사용

중요: 일부 앱에서는 이 설정이 사용되지 않습니다.

굵은 글꼴을 사용하여 가시성을 높일 수 있습니다.

  1. 기기에서 설정 앱을 엽니다.
  2. 접근성
    마우스 클릭 했을 때 글씨 보이게 하는 방법
    디스플레이 크기 및 텍스트를 탭합니다.
  3. 텍스트 굵게 표시를 사용 또는 사용 중지합니다.

고대비 텍스트 사용

고대비를 사용하면 기기에서 텍스트를 더 쉽게 읽을 수 있도록 할 수 있습니다. 이 기능은 원본 텍스트 색상에 따라 텍스트 색상을 검은색 또는 흰색으로 변경합니다.

  1. 기기에서 설정 앱을 엽니다.
  2. 접근성
    마우스 클릭 했을 때 글씨 보이게 하는 방법
    디스플레이 크기 및 텍스트를 탭합니다.
  3. 고대비 텍스트를 사용 설정 또는 중지합니다.

색상 보정 사용

색상 보정과 그레이 스케일 설정을 사용하면 색맹 사용자에 맞게 기기를 보정할 수 있습니다. 

색상 반전 사용

중요: 색상 반전은 화면의 색상을 반전하며 미디어를 포함한 모든 항목에 적용됩니다.

어두운 테마와 색상 반전 함께 사용

  • Android 10 이상: 어두운 테마를 지원하지 않는 앱을 실행하는 경우 색상 반전을 사용 설정합니다.
  • Android 9 이하: 한 번에 하나의 설정만 사용할 수 있습니다. 어두운 테마를 사용 설정하면 색상 반전이 자동으로 사용 중지됩니다.

모션 설정 변경

애니메이션 삭제

집중할 수 있도록 애니메이션을 사용 중지할 수 있습니다.

  1. 기기에서 설정 앱을 엽니다.
  2. 접근성
    마우스 클릭 했을 때 글씨 보이게 하는 방법
    색상 및 모션을 탭합니다.
  3. 애니메이션 삭제를 사용 설정합니다.

큰 마우스 포인터 사용

마우스 포인터를 크게 하여 더 잘 보이게 할 수 있습니다.

  1. 기기에서 설정 앱을 엽니다.
  2. 접근성
    마우스 클릭 했을 때 글씨 보이게 하는 방법
    색상 및 모션을 탭합니다.
  3. 대형 마우스 포인터를 사용 설정합니다.

화면 어둡게 하기

휴대전화의 최소 밝기보다 화면을 어둡게 하여 보다 편안하게 읽을 수 있도록 할 수 있습니다.

  1. 기기에서 설정 앱을 엽니다.
  2. 접근성을 탭합니다.
  3. 더 어둡게를 사용 설정합니다.

추가 지원받기

텍스트 및 디스플레이 설정과 관련하여 도움이 더 필요하면 Google 장애인 전담 지원팀에 문의하세요.