1. 마크업 (HTML)HTML5를 이용한 논리적 순서로 시멘틱한 마크업을 기본으로 한다.ID는 큰 레이아웃(header, footer..)을 제외한 사용을 지양한다. (접근성 제외)Form요소(input,select,textarea)에는 title 속성을 기입한다. 규칙은 아래와 같다.섹셔닝 관련하여 Heading level을 준수한다. [6번 목차 참고]섹셔닝에 관련된 태그를 남발하지 않으며 문서(document)에 필요한 요소들로 마크업한다.의미가 없는 이미지는 가급적 배경처리하되 개발에 관련하여 들어가야하는 동적인 이미들은 alt값을 넣어준다. alt값은 필수이며 의미가 없더라도 빈값의 alt 속성을 추가한다. 빈 alt값을 가지는 img에 한해 role="presentation" 속성을 추가한다..
Skip navigation다수의 건너뛰기를 제공할 경우, 핵심 콘텐츠인 본문으로 이동하기를 우선으로 제공. Content / GNB / Footer 순으로 스킵네비게이션을 구현한다.GNB의 경우 IE11에서 요소 등에 접근하지 못하는 버그가 있으므로, ul이전에 div와 id, 크기값을 지정하여 주메뉴 영역으로 이동할 수있게 한다.Title tag저시력자를 위해 해당 페이지의 내용을 쉽게 파악할 수 있도록 순서를 아래와 같이한다. 작은순에서 큰순으로 작성.faq Img tag의미없는 이미지에는 alt를 "" 비게 한다.Label tag레이블의 내용을 형태로 제공할 경우, 일부 스크린리더는 인지못하는 경우 발생한다.그렇기 때문에 해당 Input에 title 속성을 주거나, label태그로 텍스트로 제..
참고 : https://jangkunblog.com/assets/file/2016.12.14-WAI-ARIA.pdf1. 속성aria-haspopup (팝업 유/무)값 : true / false다른 속성은 지원하지않는 브라우저 많다. 그렇기때문에 위 값 위주로 써줄것을 추천한다.aria-current (현재 위치)선택된 메뉴와 같은 경우에 적용값: page(paging), *step(preocess), location, date, time, *true(tab), false(default)aria-expanded (확장)값 : true(확장) / false(축소)아코디언이나 레이어팝업 열기/닫기 버튼aria-controls="id" (제어하는 요소)현재 버튼이 제어하는 요소를 넣어주기레이어팝업 열기닫기 버튼..
Title타이틀 속성은 META TAG의 description 과 비슷한 영향을 준다.웹 접근성이라는 이슈때문에 국내 사이트들은 보통은 '사이트명>페이지명' 이렇게 쓰는 편인 것으로 아는데 SEO 상 공백 포함 10-70자정도를 포함하는 것이 좋다. (구글에서 최대 70자를 보여주고, 처음 12단어를 보여준다고 한다.)그리고 해당 페이지는 페이지마다 고유한 제목이 필요하다.이 고유한 제목을 만들기 위해서는 해당 페이지에 가장 중요하고 관련성 높은 키워드를 넣되, 단어 반복은 제한하도록 한다.META Description해당 웹페이지의 설명을 뜻한다. 구글에서 검색을 하게 되면 아래처럼 나오는데 노란색 줄 친 부분이 description meta tag로 나타내질 부분이다.해당 텍스트는 70~160 자를..
1. 학사 따기 (학점은행제) 2. React 3. 임신 1번 학사 따기는 8월 완료. 드디어 웹프로그래밍 3년제 전문학사에서 컴공 학사 전환했다. 하면 될걸 왜이리 미뤘을까 2번 React 이또한 현재 업무로 진행중 주사용 프론트 프레임워크는 Vue3였으나 이번에 추가로 React 프로젝트를 맡으면서 현재 실무중 기존 운영하던 React 프로젝트도 있었으나 활동적으로 운영되던 프로젝트가 아니여서 나이브한 느낌이었다. 막상 하다보면 그게 그거아닌가 싶다. 결국 자바스크립트 개발자는 다 해야하는거 아닌가 3. 임신 두번의 임신과 유산. 참 맘처럼 쉽지 않다. 이제까지 마음 먹은 일이 안풀린적 없었는데 계획처럼 되지 않는게 인생인가 어쨌든 현재 영양제 챙겨먹고 좋은 음식 챙겨먹으며 운동을 열심히 하고 있다...
💡 내 공부를 위한 Proxy 정리 글이다. 프록시란 무엇인가? 나는 Vue.js를 주로 작업하는 프론트 개발자이다. Vue.js에서 객체를 콘솔로 찍을 때 순수하게 객체가 아닌 Proxy로 만들어진 값들을 마주할 때가 있다. Proxy는 왜 쓰고? 어떻게 쓰는가? 이것에 대한 글이다. Why use it? 대체 왜 프록시를 쓰는가? 프록시에 공부해보니 데이터가 변환되거나 읽어지거나 여러 경우에 프록시 트랩을 통해 제공하는 기능에서 유효성 처리나 변화를 감지할 때 사용 가능하다. 내가 실무에서 프록시를 써야하는 경우라면 어떻게 쓰겠는가? 객체를 set 해야 하는 경우 유효성 처리라던지 get 해야 하는데 객체 내에 값이 없을 경우 default 값을 처리해줘야 한다던지 주요 데이터를 처리할 때 프록시를 ..
커리 패턴의 가장 중요한 쓰임새는 partially(부분적인) 쓰임이 가능한 패턴이다. **lodash 라이브러리(_.curry)**를 사용하면 편하게 쓰긴 하지만 구현한다고 해서 힘들지 않다. 기본 구현 방법 function curry(f) { return function(a) { return function(b) { return function(c) { return f(a, b, c) } } } } function sum(a,b) { return a + b } const curried = curry(sum) curried(1)(2) // 3 function sum(a,b) { return a + b } const curried = _.curry(sum) curried(1,2) // 3 일반적인 호출 ..
💡 React@17 부터 `componentWillMount`, `componentWillUpdate`, `componentWillReceiveProps`는 deprecated 되었다. Mount 컴포넌트가 DOM에 붙는 과정. context, defaultProps, state 저장 componentWillMount 메소드 호출 [react@17 deprecated] render메소드로 컴포넌트 DOM에 부착 (여기까지도 마운트 중에 속함) 마운트 완료 지점에서 componentDidMount 메소드 호출 componentDidMount에서 DOM 접근 가능 이 시점에 비동기요청 또는 setTimeout, setInterval 실행 Props Update props가 변경될 때의 과정. 업데이트 발생 ..
- Total
- Today
- Yesterday
- 웹퍼블리셔
- 자바스크립트
- 커리패턴
- 퍼블리셔
- Issue
- Aria
- jQuery
- props
- API
- 수영하기전후기
- frontend
- js
- vue
- jeonst
- component
- javascript
- css3
- seo
- 웹퍼블리싱
- 리액트생명주기
- 퍼블리싱
- 환경설정
- WAI-ARIA
- vue.js
- 수영전후기
- youtube
- 포세이돈되기까지
- curring
- 웹접근성
- ES5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |