스택오버플로우에 올린 질문에 관한 내용
ABCD
를 A | B | C | D
의 형태로 나타내기ABCD
를 통째로 인식할 수 있도록A | B | C | D
가 아니라 원문 ABCD
가 복사되도록aria-hidden
속성 이용<!-- HTML -->
<p>
A<span aria-hidden="true"> | </span>B<span aria-hidden="true"> | </span>C<span aria-hidden="true"> | </span>D
</p>
A | B | C | D
|
가 함께 드래그되고 복사도 됨content
이용/* CSS */
.separator::after {
content: " | ";
}
<!-- HTML -->
<p>
<span class="separator">A</span><span class="separator">B</span><span class="separator">C</span>D
<!-- 또는 -->
A<span class="separator"></span>B<span class="separator"></span>C<span class="separator"></span>D
</p>
A | B | C | D
ABCD
만 복사됨content
가 전부 읽어지고 글자탐색으로 접근도 가능함<!-- HTML -->
<p>
A<span aria-hidden="true" class="separator"></span>B<span aria-hidden="true" class="separator"></span>C<span aria-hidden="true" class="separator"></span>D
</p>
A | B | C | D
ABCD
만 복사됨ABCD
와는 거리가 점점 멀어짐aria-hidden
이 필요하기 때문에 각 글자를 태그 안에 넣을 수 없음border
활용/* CSS */
.border-separator {
padding-right: 0.5em;
border-right: 1px solid #000;
margin-right: 0.5em;
}
<!-- HTML -->
<p>
<span class="border-separator">A</span><span class="border-separator">B</span><span class="border-separator">C</span>D
</p>
background
활용/* CSS */
.bg-separator {
font-family: monospace;
--letter-spacing: 1em;
letter-spacing: var(letter-spacing);
--separator-width: 3px;
--separator-height: 80%;
background:
repeating-linear-gradient(
90deg,
#000 0 var(--separator-width),
#0000 0 calc(1ch + var(--letter-spacing))
)
calc((var(--separator-width) + var(--letter-spacing)) * -0.5)
50%/100%
var(--separator-height)
no-repeat;
}
<!-- HTML -->
<span class="bg-separator">ABCD</span>
A | B | C | D
ABCD
만 복사됨background
)letter-spacing
때문에 드래그 시에 각 글자의 영역이 넓게 잡힘aria-label
이나 alt
속성으로 스크린리더에 정보 제공