링크처럼 작동하는 HTML 버튼을 만들고 싶습니다. 따라서 버튼을 클릭하면 페이지로 리디렉션됩니다. 가능한 한 접근하기를 원합니다.
또한 URL에 추가 문자 또는 매개 변수가 없도록하고 싶습니다.
어떻게하면 되나요?
지금까지 게시 된 답변을 기반으로 현재이 작업을 수행하고 있습니다.
<form method="get" action="/page2">
<button type="submit">Continue</button>
</form>
그러나 이것의 문제는 Safari 와 Internet Explorer 에서 URL 끝에 물음표 문자를 추가한다는 것입니다. URL 끝에 문자를 추가하지 않는 솔루션을 찾아야합니다.
이 작업을 수행하는 다른 두 가지 솔루션이 있습니다. JavaScript를 사용하거나 링크 스타일을 지정하여 단추처럼 보입니다.
자바 스크립트 사용 :
<button onclick="window.location.href='/page2'">Continue</button>
그러나 이것은 분명히 JavaScript를 필요로하기 때문에 스크린 리더에게는 접근성이 떨어집니다. 링크의 요점은 다른 페이지로 이동하는 것입니다. 따라서 버튼을 링크처럼 작동시키는 것은 잘못된 해결책입니다. 내 제안은 링크를 사용 하고 버튼처럼 보이도록 스타일을 지정해야한다는 것 입니다.
<a href="/link/to/page2">Continue</a>
GET
실패 할 것으로 예상되는 페이지의 게시물을 거부하는 컨텍스트에서 . 나는 여전히 링크를 사용하는 것이 버튼과 같이 활성화 될 때 "spacebar"에 반응하지 않을 것이라는 경고에 의미가 있다고 생각합니다. 또한 일부 스타일과 동작이 다릅니다 (예 : 드래그 가능). 진정한 "버튼 링크"환경을 원한다면 URL을 마무리하기 위해 서버 측 리디렉션을 사용 ?
하는 것도 옵션 일 수 있습니다.
?
URL 의 문제인 OP의 첫 번째 문제를 해결 한 것으로 보이지 않습니다 . 이것은 형태의 존재에 의해 발생type="GET"
,로 변경type="POST"
하고?
는 URL 사라의 말에. 이는 GET이 URL의 모든 변수를 전송하기 때문?
입니다.