방해되지 않는 JavaScript

Unobtrusive JavaScript

Unobtraction JavaScript는 사용자의 웹 브라우저에 JavaScript 기능이 일부 또는 완전히 없는 경우 사용자는 웹 페이지의 JavaScript 기능 부족을 가능한 한 적게 인지할 수 있도록페이지클라이언트측 JavaScript를 사용하는 일반적인 접근방식이다.[1] 용어는 다양한 기술 작가들이 프런트 엔드개발의 다른 측면을 강조하기 위해 사용해 왔다.반면에 다른 작가들이 더 정확하게 진보적인 향상을 사용하여 특정한 자바 스크립트 기능 a이 부족한 사용자 에이전트를 지원하기에 대해 언급할 용어 사용되어 있는 일부 작성자들에게 있어, 그 용어 더 일반적으로 기능성(그"행동 계층")의 웹 페이지의structure/content에서 분리 및 presentation,[2]을 언급할 때 이해되어 왔다알몬드JavaScript를 사용하지 않도록 설정한 사용자.[3]후자의 정의에 따라, 방해받지 않는 JavaScript는 모든 사용자(컴퓨팅 플랫폼이 무엇이든)가 웹 페이지의 모든 정보와 기능에 대략적으로 동등한 접근을 할 수 있도록 보장하는 한 웹 접근성에 기여한다.[4][5]

개요

일반적인 클라이언트측 동적 페이지마크업 콘텐츠(HTML),[6]: 5 스타일시트(CSS), 클라이언트측 자바스크립트, 이미지와 같은 임베디드 오브젝트의 네 부분으로 구성된다.클라이언트측 자바스크립트 부분은 자바스크립트 없이는 불가능할 특징이나 기능을 추가함으로써 다른 부분을 강화시키는 것으로 생각할 수 있다.[6]: 3

클라이언트측 자바스크립트와 관련된 "비교적" 개념은 2002년 스튜어트 랭리지[7] "Unobtrative DHTML, 그리고 주문되지 않은 목록의 힘"[8]이라는 글에서 만들어졌다.기사에서 Langridge 모든 자바 스크립트 코드지 못하게 하기 때문이다, 이벤트 처리기, HTML(DHTML)[7]그는 코드의 이런 조직의 목적,"그리고 사람이 자기 브라우절 수 있지 않에 영향을 끼치지 않는 브라우저를 지탱할 수 있는 사람들에게 더 나은 사용자 경험을 쌓" 있다고 말했다 때 동적 HTML을 사용하여 밖에서 포함한다고 주장했다.a따라서개발자가 스크립팅을 더 쉽게 할 수 있다.[7]Langridge는 나중에 이러한 생각을 확장하고 "불법"의 핵심 의미는 "만약 주어진 웹 브라우저가 당신이 사용하고 있는 DHTML 기능을 지원하지 않는다면, 그러한 부재는 가능한 한 사용자 경험에 영향을 적게 주어야 한다"는 것이라고 강조했다.[1]다시 말해, 랭리지의 경우, "불법"은 주로 특정 상황에서 자바스크립트 기능이 없는 사용자 경험을 말한다.[1]

변형 정의

다른 저자들은 모호하지 않은 본질적인 요소들에 대한 변형을 묘사했다.

데이비드 플래너건의 책 자바스크립트: Frinal Guide(2006)는 구체적인 공식은 없지만, 눈에 띄지 않는 자바스크립트의 세 가지 주요 목표가 있다고 말했다.[4]

  • 네임스페이스 충돌을 방지하기 위한 네임스페이스 사용 및 모듈 초기화 코드 사용과 같은 기본 규칙을 사용하여 JavaScript 모듈을 HTML 마크업에서 분리하고 HTML 마크업에서 JavaScript 모듈을 분리하는 것
  • 우아하게 저하하려면 모든 컨텐츠를 JavaScript의 전부 또는 일부가 성공적으로 실행되지 않고 사용할 수 있어야 한다.
  • HTML의 접근성을 저해하지 않고, 사용자가 개인 장애가 있거나 비정상적이거나 비정상적으로 구성된 브라우저를 사용하고 있는지 여부에 관계없이 HTML을 개선하는 것이 이상적이다.

Web Standards ProjectJavaScript 매니페스토(2006)에서 "JavaScript의 목적은 웹페이지에 상호작용을 추가함으로써 웹페이지의 사용성을 향상시키는 것"이라며, 다음과 같은 4가지 이점에 대해 설명했다.[9]

  1. 사용성:눈에 띄지 않는 DOM 스크립트는 사용자의 주의를 끌지 않는다. "방문자는 아무 생각 없이 그냥 사용한다."
  2. 정상 저하:방해되지 않는 DOM 스크립트는 오류가 발생하더라도 어떠한 브라우저에서도 오류 메시지를 생성하지 않는다.피쳐를 제대로 제시하지 못하면 조용히 사라진다.
  3. 접근성:스크립트가 실패하더라도, 페이지는 마크업, 스타일시트 및/또는 서버측 스크립팅을 통해 핵심 기능과 정보를 전달한다.
  4. 분리:다른 웹 개발자와 미래의 웹 개발자의 이익을 위해 모든 자바스크립트 코드는 스크립트, 마크업 또는 코드의 다른 파일에 영향을 미치지 않고 별도로 유지된다.

2007년 파리 웹 콘퍼런스에서 크리스티안 헤이일만은 눈에 띄지 않는 자바스크립트의 7가지 규칙을 확인했는데, 그 중 일부는 "불투명"[10]에 대한 다른 좁은 정의보다 범위가 넓었다.

  1. "어떤 가정도 하지 마십시오":방어적 프로그래밍 기법은 JavaScript가 실행되지 않을 수도 있고, 브라우저가 예상된 방법을 지원하지 않을 수도 있으며, HTML이 변경되었을 수도 있고, 예기치 않은 입력 장치가 사용 중일 수도 있으며, 다른 스크립트가 존재하지 않거나 글로벌 네임스페이스를 잠식할 수도 있는 가능성을 허용해야 한다.
  2. ID 및 예상 HTML의 다른 측면과 같은 "후크 및 관계 찾기".
  3. 가능한 경우 브라우저에 내장된 CSS 핸들러와 같이 개별 DOM 개체를 전문가에게 전달하도록 하십시오.
  4. "브라우저와 사용자 이해" 특히 브라우저의 실패 방법, 사용자가 어떤 가정을 하는지, 그리고 비정상적인 구성이나 사용법을 이해한다.
  5. "사건의 이해"는 어떻게 '거품'을 하는지, 그 특징들을 포함한다.Event대부분의 이벤트 핸들러에 전달되는 개체.
  6. 글로벌 기능 및 변수 이름을 사용하지 않도록 하여 다른 스크립트와 함께 잘 실행하십시오.
  7. "다음 개발자를 위해 작업"은 자기 설명 변수와 함수 이름을 사용하고, 논리적이고 읽을 수 있는 코드를 만들고, 의존성을 명백하게 하고, 여전히 혼동할 수 있는 코드를 주석화함으로써 이루어진다.

모호하지 않은 JavaScript의 보다 광범위한 정의는 캡슐화추상화 계층, 글로벌 변수 회피, 의미 있는 명명 규칙, 적절한 설계 패턴의 사용 및 체계적 테스트와 같은 일반적인 프로그래밍 모범 사례와 많은 공통점을 가지고 있다.[11]

참조

  1. ^ a b c Langridge, 스튜어트(2005년).DHTML 유토피아:현대 웹 디자인을 이용한 자바 스크립트&DOM. 콜링 우드:오스트레일리아 동남부, 주변, 호주:.SitePoint. 페이지의 주 75.아이 에스비엔 9780957921894.온라인 컴퓨터 도서관 센터 60690615.여러분의 웹 사이트에 DHTML 추가하는 중요한 설계 제약 조건이 지나치게 화려하지 않도록 해야 한다.''unobtrusive,까지 나는 만약 주어진 웹 브라우저 사용 중 DHTML 기능을 지원하지 않는다면, 그 부재 가능한 한 적게 사용자 경험에 영향을 주어야 한다는 거야.오류 사용자에게:사이트를 완벽하게 DHTML 강화.(초판에 대한 참조, 이후 어떻게 그 작가는 개념을 개척해 보여 준다.)없이 사용할 수 있어야 한다 보여 주지 않아야 한다.이 책에서 발췌한 글에도 같은 구절이 있다.
  2. ^ Keith, Jeremy (2006-06-20). "Behavioral Separation". www.alistapart.com. Retrieved 2007-01-27. Separating out behavior from markup like this is called unobtrusive JavaScript.
  3. ^ Olsson, Tommy (2007-02-06). "Graceful Degradation & Progressive Enhancement". accessites.org. Archived from the original on 2017-07-18. Retrieved 2009-01-03. Progressive enhancement when it comes to JavaScript is becoming more common these days. The key to this is known as unobtrusive JavaScript. An unobtrusive script is silently ignored by user agents that do not support it, but is applied by more capable devices. Just like an external style sheet.
  4. ^ a b Flanagan, David (2006). "Unobtrusive JavaScript". JavaScript: The Definitive Guide (5th ed.). O'Reilly Media. p. 241–242. ISBN 9780596101992. OCLC 64313259.
  5. ^ Connor, Joshue O. (2012). "Unobtrusive JavaScript". Pro HTML5 Accessibility: Building an Inclusive Web. Berkeley, CA: Apress. pp. 71. doi:10.1007/978-1-4302-4195-9_3. ISBN 9781430241942. OCLC 757486357.
  6. ^ a b Goodman, Danny; Morrison, Michael; Novitski, Paul; Rayl, Tia Gustaff (2010). "JavaScript's Role in the World Wide Web and Beyond". JavaScript Bible (7th ed.). Indianapolis, IN: Wiley. pp. 3–13. ISBN 9780470526910. OCLC 435731997.
  7. ^ a b c "Building dynamic websites". www.netmag.co.uk. 2006-08-09. Archived from the original on 2010-12-05. Retrieved 2010-05-18.
  8. ^ Langridge, Stuart (November 2002). "Unobtrusive DHTML, and the power of unordered lists". www.kryogenix.org. Archived from the original on 2002-12-04. Retrieved 2008-08-07.
  9. ^ "The JavaScript Manifesto". www.webstandards.org. Web Standards Project. Archived from the original on 2006-06-14. Retrieved 8 Feb 2011.
  10. ^ Heilmann, 크리스티안(2007년)."Unobtrusive 자바 스크립트의 7규칙".icant.co.uk.22011년 5월에 원래에서 Archived.82011년 2월 Retrieved.참고 항목:Heilmann, 크리스티안(2006년)."Unobtrusive 자바 스크립트".대처, 짐, 벅스, 마이클 R.;.Heilmann, 크리스티안, 헨리, 숀 로턴, 커크패트릭, 앤드류, Lauke, 패트릭 H., 로슨, 브루스, 리건, 밥, Rutter, 리처드, 도시, 마크(eds.).웹 접근성:웹 표준 그리고 규제의 준수 여부다.버클리, CA:에드의 친구들;Springer-Verlag.를 대신하여 서명함에 의해 배포된. 301–331. doi:10.1007/978-1-4302-0188-5_10.아이 에스비엔 1590596382.
  11. ^ White, Alexei (2009). "Unobtrusive JavaScript". JavaScript Programmer's Reference. Wrox Programmer to Programmer. Chichester, UK; Hoboken, NJ: Wiley. p. 311. ISBN 9780470344729. OCLC 421783941.

추가 읽기