- fișiere separate pentru HTML și CSS
- conținutul site-ului trebuie să aibă sens (nu îl umpleți cu Lorem ipsum)
- nu este acceptată folosirea de frameworkuri și librării
HTML:
- trecerea testelor de validare HTML http://validator.w3.org/
- folosirea tagurilor semantice prezentate la curs/laborator
CSS:
- trecerea testelor de validare CSS https://jigsaw.w3.org/css-validator/
- site-ul trebuie să fie responsive (media query, unități relative, tipuri de display)
- folosirea selectorilor CSS de bază (după id, clasă, tag, elementContinut, elementCopil, al n-lea copil de tipul unui tag :nth-of-type)
- specificarea proprietăților: width, height, color, background, font-size, border, padding, margin, display etc.
- folosirea coloanelor pentru layoutul a cel puțin unei pagini; realizarea layoutului fără tabele (folosind flex și grid)
- site-ul trebuie să conțină un menu drop-down realizat cu CSS
- site-ul trebuie să aibă și conținut generat (folosind :after, :before)
- site-ul trebuie să conțină o tranziție care implică schimbarea mai multor proprietăți la intervale diferite de timp
- site-ul trebuie să conțină o animație care să modifice mai multe proprietăți ale aceluiași element
- video embedding
- n-am mai apucat sa adaug regulile si desene cu canvas =(
Javascript:
- fișier separat pentru codul JavaScript
- modificarea stilului unui element sau al unui grup de elemente
- manipularea DOM-ului (selectare după id, tag, clasă, folosind selectori CSS)
- crearea și stergerea de elemente HTML
- folosirea și modificarea evenimentelor generate de mouse si tastatură
- modificare de proprietăți
- inputuri funcționale (de exemplu: input de tip text/range/number/radio/checkbox, select, textarea)
- folosirea setTimeout sau setInterval
- folosirea localStorage (să se pastreze în localStorage o colecție de elemente)
- folosirea a cel puțin unei metode din clasele: Math, Array, String, Date
- schimbarea aleatoare a valorilor unor proprietăți (de exemplu: culoare, dimensiuni, poziție)
- folosirea proprietăților classList, target sau currentTarget
- folosirea metodelor getComputedStyle și stopPropagation
- validarea datelor dintr-un formular folosind expresii regulate
- i18n
- a11y
- canvas/svg