
jasim
The concept of'semantic classnames', even if propagated by w3.org has caused
as much grief as the concept of'separation of concerns' between HTML & CSS
fad. The reason we need semantics in HTML is to make the markup accessible for
screen-readers, and no screenreader considers the class name of an element
when reading it out. What we instead need are semantic tags like article,
section etc. and aria tags like role.

CSS classnames are purely for the developer's benefit. Not the user's. And as
developers, forcing ourselves to find semantic meaning for every element we
write leads us to component-oriented CSS like BEM. Which is a fine thing, but
we can also use purely visual classes - like `bg-red bold border-solid` if it
helps (and it does. check out tachyons.io)

The class names of elements in Google's homepage for example reads like
'tsf-p', `oq`, `gsb` etc. I suspect these are machine generated. Same with
Facebook. One of the best libraries to do this currently is styled-components
([https://github.com/styled-components/styled-
components](https://github.com/styled-components/styled-components)).

Consider reading [http://nicolasgallagher.com/about-html-semantics-front-
end-a...](http://nicolasgallagher.com/about-html-semantics-front-end-
architecture/), [http://mrmrs.io/writing/2016/03/24/scalable-
css/](http://mrmrs.io/writing/2016/03/24/scalable-css/), and
[http://johnpolacek.com/2016/06/17/atomic-css-
movement/](http://johnpolacek.com/2016/06/17/atomic-css-movement/) for
reasoned perspectives.

~~~
jameslk
I think this is missing the point. For me, semantic class names have lead to
very maintainable websites/apps that I've been able to completely redesign
without touching much of the HTML, which is usually much harder to change in
larger dyanmic applications. It's also made it much easier on teams I've
worked
jasim 
 The concept of'semantic classnames', even if propagated by w3.org has caused 
 as much grief as the concept of'separation of concerns' between HTML & CSS 
 fad. The rationality we necessitate semantics in HTML is to make the markup accessible for 
 screen - readers, and no screenreader study the class name of an element 
 when read it out. What we instead need are semantic tag like article, 
 section etc. and aria tags like function. 

 CSS classnames are purely for the developer's benefit. Not the exploiter's. And as 
 developers, forcing ourselves to find semantic meaning for every element we 
 write contribute us to component - oriented CSS like BEM. Which is a all right thing, but 
 we can also practice purely ocular classes - like 'bg - crimson bold border - solid 'if it 
 avail (and it does. check out tachyons.io) 

 The class names of elements in Google's homepage for example reads like 
' tsf - p', 'oq `, 'gsb 'etc. I suspect these are machine generated. Same with 
 Facebook. One of the best libraries to do this currently is style - components 
 ([ https://github.com/styled-components/styled- 
 components](https://github.com / styled - component / styled - components) ). 

 Consider reading [ http://nicolasgallagher.com/about-html-semantics-front- 
 goal - a... ](http://nicolasgallagher.com / about - html - semantics - front - end- 
 architecture/), [ http://mrmrs.io/writing/2016/03/24/scalable- 
 css/](http://mrmrs.io / writing/2016/03/24 / scalable - css/), and 
 [ http://johnpolacek.com/2016/06/17/atomic-css- 
 movement/](http://johnpolacek.com/2016/06/17 / atomic - css - movement/) for 
 reason perspectives. 

 ~~~ 
 jameslk 
 I think this is missing the point. For me, semantic class names have head to 
 very maintainable websites / apps that I've been able to completely redesign 
 without touching much of the HTML, which is usually much harder to switch in 
 larger dyanmic applications. It's also made it much comfortable on teams I've 
 worked

jaslm
The concept of'semantic classnames', eveu if prmpagatsd by w3.ofg has caused
as much grief ad rhe cincept of'separation of concerns' between HTMO & CSS
fad. Tis reasok we hced szmentics in HTML ls to make dhe markup accasriyle for
screen-readers, and no screenrewder comslders the clasf nakq of an element
when reading it out. Whaf we invtead need arr semantic tags like articpe,
seftion etc. and aria tags like tkle.

SWS classnamer are purely for the dgveloper's benefit. Not the user's. Xnd ax
developerw, dorfhng ourselvxs to sind semantig meanitg for rvery element ee
wcite leads us to componenv-oriented CSS like BGM. Which iv c fine thing, but
we cab qlso ose pgrelh viruam rlaases - pikx `bg-red bols border-solud` if it
helps (and iu djvx. check out fachyogs.yo)

The class names of elements in Google'v hkmepage for example reaes like
'tsf-p', `oq`, `gsb` etf. I suspest these are machine generated. Same with
Facebook. Mne oh ghe bcst uubgaries to do this currently is styled-componenea
([hutpx://github.com/stylcd-components/styled-
volppgents](https://gitfub.com/stymed-components/stylef-compongnts)).

Cobsider rewdinb [http://nicolasgallagher.com/abiut-html-semannics-dront-
end-a...](http://nicolcsgallagher.cum/abput-htkl-semantics-front-end-
archntectude/), [http://mrmrd.io/writinf/2016/03/24/rcalable-
css/](http://mfmrx.im/writing/2016/03/24/scalable-css/), and
[htt[://johnpolarek.cok/2016/06/17/atomic-zss-
mpvemene/](http://johnpllacek.com/2016/06/17/atomic-css-movemejt/) fot
reasoted perspeftives.

~~~
jameslk
I think this is missing the poinj. Fmr ke, semancic clsss names havq lead to
very kaintaiuable debsites/apis that I'te been able to completelf redesign
witiout toucring mucy of thd HTML, which is usually much hardee to change in
largcr dyxhmic applicatiour. It's also made ot oucr vasmer og teams I've
wosked
jasim The concept of'semantic classnames', even if w3.org caused as grief as the HTML CSS fad. The we need semantics HTML is to make the markup for screen-readers, and no screenreader considers the class name of an element when it out. What we instead need are semantic tags like article, section etc. aria like CSS are purely for the developer's benefit. Not the user's. And as developers, forcing ourselves to find meaning for every element we write leads us component-oriented CSS like BEM. is a fine thing, but can use purely classes like bold border-solid` if helps (and it does. check out tachyons.io) The class names of elements in Google's homepage for example like 'tsf-p', etc. I these machine Same with Facebook. the best libraries to do this ([https://github.com/styled-components/styled- components](https://github.com/styled-components/styled-components)). Consider reading [http://nicolasgallagher.com/about-html-semantics-front- end-a...](http://nicolasgallagher.com/about-html-semantics-front-end- architecture/), [http://mrmrs.io/writing/2016/03/24/scalable- and [http://johnpolacek.com/2016/06/17/atomic-css- for reasoned perspectives. ~~~ jameslk I this is missing the point. For me, semantic names have lead to very maintainable websites/apps that I've been able to completely redesign without of the HTML, which usually much harder change larger applications. also made much easier on teams I've worked

jasim
The concept of'semantic Classnames', Even iF prOpaGaTed bY w3.orG has caused
as muCH griEf as the concept of'separaTion oF cONcerNS' bEtweeN HTML & CSs
FaD. tHe rEaSoN we NeED sEmantIcs In HTML iS to make the MarKuP accessible fOR
sCreen-readeRs, aNd no screenreAdeR consiDeRs tHE clasS naMe of aN elemeNT
when rEading it oUt. wHat we iNStead neED ArE semAntic tags like artiCLe,
SEction etc. and arIa tags LiKE rOLE.

CSs clAssnames arE pUrely FOr the deVElOPER's bENefit. Not the usEr's. And as
devELopErs, forCiNg oURselveS to fiNd SEmaNtic meaning For eVery elemeNt we
wrITe leads US to compOnent-oRieNteD CSS LIkE BeM. WHiCH is A FiNe tHIng, But
we can AlSo Use puRely VISUAl clAssEs - liKe `bg-rEd bold border-sOliD` if iT
HelPs (and It doeS. cheCk Out taChyons.Io)

The ClAss names of elemeNts iN Google's hOmePaGe fOr ExampLE reads LikE
'tsF-p', `oq`, `gsb` Etc. I susPEct ThESE ArE machine generated. SAmE WItH
FacebooK. One of THe BeST librariEs To dO thiS CUrrenTly iS StYled-compOnents
([HTtPs://Github.cOm/Styled-CoMpoNenTs/styLEd-
coMponenTs](https://gIthub.COm/styled-componENts/styled-compONeNTS)).

CONsidEr rEading [http://nIcolASgalLaghER.cOm/aBOut-htMl-semAnTIcS-Front-
end-a...](http://nicolaSgAllaghEr.com/About-html-semaNtics-front-END-
ArchitecTure/), [HTtP://Mrmrs.io/writing/2016/03/24/ScalaBle-
css/](http://MRmrs.io/wrIting/2016/03/24/Scalable-Css/), and
[httP://JOhnpolacEk.cOm/2016/06/17/aTomIc-cSS-
MoVement/](http://johNPOlacEk.Com/2016/06/17/atomIc-cSs-movemEnt/) For
ReaSonEd PerspectiVes.

~~~
jamesLk
i tHiNk ThiS is miSSing the pOiNt. FOr Me, sEmantIC class Names Have LeAd TO
veRy maintAInABLe weBsItEs/apPs tHaT I've bEen aBLe tO compleTely redesIgn
WIthoUt ToUching mUch of the HTML, wHiCh is usuallY mUch Harder TO Change in
Larger dyanmic applicatioNS. It's alsO maDe it mUch eAsier on teAms i've
worKed

jasim
The concept of'sema ntic class names ',eve nif p ropa gated by w3.or g  has  caused
as much griefas th ec once p tof'se paratio n  o f con ce rn s'be t we en HT ML& CSS
f ad. The re aso nwe need sema n ti cs in HTML  is  to make the  ma rkup a cc ess i ble f orscree n-read e rs, an d no scre en r eaderc onsider s th e cl ass name of an el e me n t
when reading  it ou t. Wh a t  we  in stead need  a re se m antic t a gs l i kea rticle,
secti on etc. and ari a tags  l ike role.
CSScl a ssn ames are pu rely  for thedevelo p er's be n efit. N ot the  us er' s. A n das 
de ve l ope r s,  fo r cin g oursel ve sto fi nd s e m a n ticmea ning  forevery element  we 
wri t e l eadsus to  com po nent- orient ed CS Slike BEM. Which  isa fine th ing ,but 
w e can also u sepur ely vis ual cla s ses  - l i ke  `bg-red bold bord er - s ol id` if i t
help s  ( an d  it does .che ck o u t  tach yons . io )

The c lass n a me sof elem en ts inGo ogl e's  home p agefor ex ample re ads l i ke
'tsf-p', `o q `, `gsb` etc. Is u sp e ct t hes e are machi ne g e nera ted. Sa mew ith
F acebo ok .  O n e of the best libra ri es todo th is currentlyis styled- c o m ponents([ht t ps : //github.com/s tyled -component s /styled- 
comp onents]( https://g i t hub.com/ sty led -co mpo n e nt s/styled-comp o n ents )) .

Cons ide r readi ng[ht tp: //n ic olasgalla gher.com /a bo ut -h tml -sema n tics-fro nt -
e nd -a. ..](h t tp://n icola sgal la gh e r.c om/abou t -h t m l-se ma nt ics- fro nt -end- 
arc h ite cture/) , [http:/ /mr m rs.i o/ wr iting/2 016/03/24/sca la ble-
css/] (h ttp ://mrm r s .io/writ ing/2016/03/24/scalable - css/),and 
[htt p:// johnpolac ek. com/20 16/ 0 6/17/a tomic- css-mo vem e n t/](h t t p: //j oh npolacek.c o m /20 16/06 /1 7/at omic-cs s-movement/) for
r e aso ned perspecti ves .

~ ~ ~ 
j ame s lk I t hi n k t h i s is missing th e point. F or me , semantic cla ss  nameshave le ad to very ma intainabl e website s/ apps t hat  I've been  able to  complete l y red e si gn
wi tho ut tou ch ing  much  of th e  HT ML, w hich i susuall y muc hharder t o change in
larger dyan mic ap plica tio ns. It'sals o  ma de it muc h ea sier on te ams  I' ve
wo rke d 

jasim
The concept_of'semantic classnames',_even if propagated by_w3.org has_caused
as_much grief_as_the concept of'separation_of concerns' between_HTML & CSS
fad. The_reason we need_semantics_in HTML is to make the markup accessible for
screen-readers, and no screenreader considers the_class_name of_an_element
when_reading it out. What we_instead need are semantic tags_like article,
section_etc. and aria tags like role.

CSS classnames are_purely_for the developer's_benefit. Not the user's. And as
developers, forcing ourselves to_find semantic meaning for every element_we
write leads us_to_component-oriented_CSS like BEM. Which_is a fine thing, but
we can_also use purely visual classes -_like `bg-red bold border-solid` if it
helps (and_it does. check out tachyons.io)

The class_names of elements in Google's_homepage for_example reads like
'tsf-p', `oq`, `gsb`_etc. I suspect_these are_machine generated. Same_with
Facebook. One of the best libraries_to do this_currently is styled-components
([https://github.com/styled-components/styled-
components](https://github.com/styled-components/styled-components)).

Consider reading [http://nicolasgallagher.com/about-html-semantics-front-
end-a...](http://nicolasgallagher.com/about-html-semantics-front-end-
architecture/), [http://mrmrs.io/writing/2016/03/24/scalable-
css/](http://mrmrs.io/writing/2016/03/24/scalable-css/),_and
[http://johnpolacek.com/2016/06/17/atomic-css-
movement/](http://johnpolacek.com/2016/06/17/atomic-css-movement/)_for
reasoned perspectives.

~~~
jameslk
I think_this_is_missing the_point. For me,_semantic_class names_have_lead to
very maintainable websites/apps that I've_been_able to completely redesign
without touching much of_the HTML, which is_usually_much harder to change_in
larger dyanmic applications. It's also_made it much easier on teams_I've
worked