posh: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (Reverted edits by ABIDEEN10 (Talk) to last version by Tantek)
 
(65 intermediate revisions by 33 users not shown)
Line 1: Line 1:
<div style="float:right;margin-left:1em">__TOC__</div>
<h1>Plain Old Semantic HTML (POSH)</h1>
<h1>Plain Old Semantic HTML (POSH)</h1>


Welcome to the <abbr title="Plain Old Semantic HTML">POSH</abbr> home page.
Welcome to the <abbr title="Plain Old Semantic HTML">POSH</abbr> home page.
__TOC__


== Origins ==
== Origins ==
 
The acronym '''POSH''' was coined [http://rbach.priv.at/Microformats-IRC/2007-04-06#T091456 on 6 April 2007] on the microformats IRC channel, by <kwijibo> as a shorthand abbreviation for "plain old semantic HTML". A discussion on among John Allsopp, Tantek Çelik, Jeremy Keith, and Chris Messina at the [[events/2007-04-18-web-2-expo-dinner|Microformats Dinner 2007 April 18 following Web 2.0 Expo]] reraised the idea of POSH and the importance of promoting the broader goal of POSH, which microformats are built from and are a proper subset of.  For more see [[posh#History|History]].
The acronym '''POSH''' was coined [http://rbach.priv.at/Microformats-IRC/2007-04-06#T091456 on 6 April 2007] on the microformats IRC channel, by <kwijibo> as a shorthand abbreviation for [[plain-old-semantic-html]]. A discussion on among John Allsopp, Tantek Çelik, Jeremy Keith, and Chris Messina at the [[events/2007-04-18-web-2-expo-dinner|Microformats Dinner 2007 April 18 following Web 2.0 Expo]] reraised the idea of POSH and the importance of promoting the broader goal of POSH, which microformats are built from and are a proper subset of.  For more see [[posh#History|History]].


== Why ==
== Why ==
 
The term [[semantic-html]] is a mouthful, and belies both how simple it is, how well established it is among modern web designers, and the fact that it has benefits far beyond the obvious doing the right thing for the Web by using semantic markup. We need a simple short mnemonic term that captures the essence of the concept, and is easily verbed (to posh, poshify, poshed up).
The term [[semantic-html]] is a mouthful, and belies both how simple it is, how well established it is among modern web designers, and the fact that it has benefits far beyond the obvious doing the right thing for the Web by using semantic markup. We need a simple short mnemonic term that captures the essence of the concept, and is easily verbed (to posh, poshify, poshed up).


== What ==
== What ==
POSH encapsulates the best practices of using [[semantic-html|semantic HTML]] to author web pages.  Semantic HTML is the subset of HTML 4.01 (or XHTML 1.0) elements and attributes that are ''[[semantic]]'' rather than ''[[presentational]]''.  The best way to learn and understand POSH is to do it.  Pick a page on your web site to begin with, and apply the [[posh#The_POSH_Process|POSH Checklist]] to it. Continue with the [[posh#The_POSH_Process|POSH Process]]. Read [[posh#Resources|POSH Resources]] to learn more about POSH.
POSH encapsulates the best practices of using [[semantic-html|semantic HTML]] to author web pages.  Semantic HTML is the subset of HTML 4.01 (or XHTML 1.0) elements and attributes that are ''[[semantic]]'' rather than ''[[presentational]]''.  The best way to learn and understand POSH is to do it.  Pick a page on your web site to begin with, and apply the [[posh#The_POSH_Process|POSH Checklist]] to it. Continue with the [[posh#The_POSH_Process|POSH Process]]. Read [[posh#Resources|POSH Resources]] to learn more about POSH.


== The POSH Process ==
== The POSH Process ==
What can you do to be POSH and to make your websites POSH?
What can you do to be POSH and to make your websites POSH?


# Publish POSH content.  Read POSH [[posh#Resources|resources]] and make sure your website publishes valid [[semantic-html|semantic (X)HTML]], and uses [[semantic-class-names]] accordingly.
# Publish POSH content.  Read POSH [[posh#Resources|resources]] and make sure your website publishes [[valid]] [[semantic-html|semantic (X)HTML]], and uses [[semantic-class-names]] accordingly.
# Spread POSH.  Encourage others to be POSH and POSHify their websites by linking to this page.
# Spread POSH.  Encourage others to be POSH and POSHify their websites by linking to this page.
# Improve POSH. Help us gather resources to enable more people to easily POSHify their websites.
# Improve POSH. Help us gather resources to enable more people to easily POSHify their websites.


== The POSH Checklist ==
== The POSH Checklist ==
* The first rule of POSH is that you must [http://validator.w3.org validate] your POSH.
* The first rule of POSH is that you must [http://validator.w3.org validate] your POSH.
* Second, drop the use of TABLEs for purely presentational purposes, spacer GIFs, and [[presentational-html]] in general.
* Second, drop the use of TABLEs for purely presentational purposes, spacer GIFs, and [[presentational-html]] in general.
* Next, fix your [http://tantek.com/log/2002/10.html#L20021022t1432 Bed and Breakfast] markup.
* Next, fix your [http://tantek.com/log/2002/10.html#L20021022t1432 '''B'''ed and '''BR'''eakfast] markup.
* Eliminate [http://tantek.com/log/2002/11.html#L20021128t1352 Anorexic Anchors].
* Eliminate [http://tantek.com/log/2002/11.html#L20021128t1352 Anorexic Anchors].
* Re-use pre-existing [[posh-patterns]].
* Use good [[semantic-class-names]].
* Use good [[semantic-class-names]].
* ...
* ...
== poshformats ==
The term "poshformats" distinguishes one-off, ad-hoc or more informal class-name based formats efforts from the more formally researched and documented microformats.  Another way of describing the distinction is that microformats are the proper subset of poshformats which have been developed ''empirically'' via research and a formal methodology per the microformats [[process]] and [[principles]], rather than made-up ''a priori''.
See [[poshformats]] for more.


== Resources ==
== Resources ==
=== POSH Patterns ===
As proper use of semantic HTML and discussions thereof predate microformats by quite a bit, there are numerous resources that document such POSH Patterns. In order to help discoverability and re-use, take a look at (and add what you find to)
* [[posh-patterns]]


=== POSH Tutorials ===
=== POSH Tutorials ===
Step by step tutorials to create POSH content or upgrade existing content to POSH.
Step by step tutorials to create POSH content or upgrade existing content to POSH.


Line 45: Line 47:
=== POSH Bookmarks ===
=== POSH Bookmarks ===
* Check out the Ma.gnolia [http://ma.gnolia.com/groups/posh POSH Group]
* Check out the Ma.gnolia [http://ma.gnolia.com/groups/posh POSH Group]
* See pages tagged both [http://del.icio.us/tag/posh+microformats POSH and microformats] on del.icio.us.


=== POSH Presentations ===
=== POSH Presentations ===
Line 52: Line 55:
* [http://tantek.com/presentations/20040928sdforumws/semantic-xhtml.html Semantic XHTML: Can your website be your API? - Using semantic XHTML to show what you mean] (2004-09-28)
* [http://tantek.com/presentations/20040928sdforumws/semantic-xhtml.html Semantic XHTML: Can your website be your API? - Using semantic XHTML to show what you mean] (2004-09-28)
* [http://tantek.com/presentations/2005/09/elements-of-xhtml/ The Elements of Meaningful XHTML] (2005-09-29, first version: [http://tantek.com/presentations/2005/03/elementsofxhtml/ 2005-03-13 at SXSW Interactive]).
* [http://tantek.com/presentations/2005/09/elements-of-xhtml/ The Elements of Meaningful XHTML] (2005-09-29, first version: [http://tantek.com/presentations/2005/03/elementsofxhtml/ 2005-03-13 at SXSW Interactive]).
* [http://developers.blogs.sapo.pt/6776.html HTML/XHTML] in Portuguese. 2009-03-26.
* [http://www.slideshare.net/AaronGustafson/learning-to-love-forms-web-directions-south-07 Learning To Love Forms]: an Aaron Gustafson's slideshow for designing semantic and modular xHTML forms.
* ...
* ...
* See also more microformats [[presentations]] in general.
* See also more microformats [[presentations]] in general.
Line 59: Line 64:
* <cite>[http://www.oreilly.com/catalog/wdnut3/ http://www.oreilly.com/catalog/covers/0596009879_thumb.gif] [http://www.oreilly.com/catalog/wdnut3/ Web Design in a Nutshell, <strong>Third Edition</strong>]</cite> by <span class="vcard"><span class="url fn n"><span class="given-name">Jennifer</span> <span class="additional-name">Niederst</span> <span class="family-name">Robbins</span></span> See [http://jenville.com/ Jenville].</span>
* <cite>[http://www.oreilly.com/catalog/wdnut3/ http://www.oreilly.com/catalog/covers/0596009879_thumb.gif] [http://www.oreilly.com/catalog/wdnut3/ Web Design in a Nutshell, <strong>Third Edition</strong>]</cite> by <span class="vcard"><span class="url fn n"><span class="given-name">Jennifer</span> <span class="additional-name">Niederst</span> <span class="family-name">Robbins</span></span> See [http://jenville.com/ Jenville].</span>
* <cite>[http://microformatique.com/book/ Microformats empowering your markup for Web 2.0]</cite> by <span class="vcard"><span class="url fn n"><span class="given-name">John</span> <span class="family-name">Allsopp</span>.</span></span> Chapter 3 is a detailed and practical overview of the appropriate use of structural, valid and semantic HTML.
* <cite>[http://microformatique.com/book/ Microformats empowering your markup for Web 2.0]</cite> by <span class="vcard"><span class="url fn n"><span class="given-name">John</span> <span class="family-name">Allsopp</span>.</span></span> Chapter 3 is a detailed and practical overview of the appropriate use of structural, valid and semantic HTML.
* ...
* <cite>[http://htmlmastery.com/ http://htmlmastery.com/images/hm-cover-sm.gif][http://htmlmastery.com/ Semantics, Standards and Styling]</cite> by <span class="vcard"><span class="url fn n"><span class="given-name">Paul</span> <span class="family-name">Haine</span>.</span></span>
* <cite>[http://www.sitepoint.com/books/html1/ http://www.sitepoint.com/images/books/html1/books-index.gif][http://www.sitepoint.com/books/html1/ Build Your Own Web Site The Right Way Using HTML & CSS]</cite> by <span class="vcard"><span class="url fn n"><span class="given-name">Ian</span> <span class="family-name">Lloyd</span>.</span></span>


=== POSH Magazines ===
=== POSH Magazines ===
Online (and off) magazines which frequently publish articles about semantic HTML. If/when this section gets too big, we can move it to [[posh-magazines]].
Online (and off) magazines which frequently publish articles about semantic HTML. If/when this section gets too big, we can move it to [[posh-magazines]].


* [http://alistapart.com/ A List Apart: For People Making Websites]
* [http://alistapart.com/ A List Apart: For People Making Websites] (see in particular [http://www.alistapart.com/topics/code/htmlxhtml/ HTML and XHTML Articles])
* [http://www.digital-web.com/ Digital Web Magazine] (see in particular [http://www.alistapart.com/topics/code/htmlxhtml/ HTML and XHTML Articles])
* [http://www.digital-web.com/ Digital Web Magazine]


=== POSH Blogs ===
=== POSH Blogs ===
Line 79: Line 85:


=== POSH Blog posts ===
=== POSH Blog posts ===
Blog posts that provide specific, modern, guidance, techniques and tips for using more and better semantic HTML.  If/when this section gets too big, we can move it to [[posh-blog-posts]].
Blog posts that provide specific, modern, guidance, techniques and tips for using more and better semantic HTML.  This list is ''incomplete''. We know there are lots more blog posts out there that fit the aforementioned description - please add them! If/when this section gets too big, we can move it to [[posh-blog-posts]].


* [http://www.456bereastreet.com/archive/200711/posh_plain_old_semantic_html/ POSH - Plain Old Semantic HTML] by Roger Johansson.
* [http://www.plaintxt.org/wp-content/uploads/sandbox-v09_readme.html The Sandbox theme for WordPress readme.html] discusses what POSH is and how the theme helps users use it.
* [http://tantek.com/log/2002/10.html#L20021022t1432 Bed and BReakfast markup (B&BR)] (2002-10-22) - avoiding nonsemantic uses of <nowiki><b>old and <br>eak</nowiki> tags and using <nowiki><h3>adings and <p>aragraphs</nowiki> instead.
* [http://tantek.com/log/2002/10.html#L20021022t1432 Bed and BReakfast markup (B&BR)] (2002-10-22) - avoiding nonsemantic uses of <nowiki><b>old and <br>eak</nowiki> tags and using <nowiki><h3>adings and <p>aragraphs</nowiki> instead.
* [http://tantek.com/log/2002/11.html#L20021128t1352 <nowiki><A>norexic </A>nchors</nowiki>] (2002-11-28) - use the "id" attribute on existing elements instead of adding empty <code><nowiki><a name="foo"></a></nowiki></code> elements. Use [[rel-bookmark]] for post permalinks within the document.
* [http://tantek.com/log/2002/11.html#L20021128t1352 <nowiki><A>norexic </A>nchors</nowiki>] (2002-11-28) - use the "id" attribute on existing elements instead of adding empty <code><nowiki><a name="foo"></a></nowiki></code> elements. Use [[rel-bookmark]] for post permalinks within the document.
Line 87: Line 95:
* [http://tantek.com/log/2003/01.html#L20030104t1249 Comment markup, presentation and plumbing] (2003-01-04) - how to markup a list of comments, including example use of the rare "hreflang" attribute.
* [http://tantek.com/log/2003/01.html#L20030104t1249 Comment markup, presentation and plumbing] (2003-01-04) - how to markup a list of comments, including example use of the rare "hreflang" attribute.
* [http://meyerweb.com/eric/thoughts/2004/07/18/competent-classing Competent Classing by Eric Meyer] (2004-07-18)
* [http://meyerweb.com/eric/thoughts/2004/07/18/competent-classing Competent Classing by Eric Meyer] (2004-07-18)
* [http://meiert.com/en/blog/20080812/best-practice-ids-and-classes/ Best Practice for ID and Class Names by Jens Meiert] (2008-08-12)
* [http://tantek.com/log/2004/07.html#d20t2359 More about the 'class' attribute] (2004-07-20)
* [http://tantek.com/log/2004/07.html#d20t2359 More about the 'class' attribute] (2004-07-20)
* [http://www.uie.com/articles/holzschlag_interview/ Web Standards in the Real World: An Interview with Molly Holzschlag] (2005-06-01)
* [http://www.uie.com/articles/holzschlag_interview/ Web Standards in the Real World: An Interview with Molly Holzschlag] (2005-06-01)
Line 96: Line 105:
** [http://microformatique.com/?p=97 Part II - standardizing vocabularies] (2007-02-20)
** [http://microformatique.com/?p=97 Part II - standardizing vocabularies] (2007-02-20)
** [http://microformatique.com/?p=108 Part III - Towards a semantic web] (2007-03-12)
** [http://microformatique.com/?p=108 Part III - Towards a semantic web] (2007-03-12)
* [http://microformatique.com/?p=82 Built in HTML semantics] A list of the semantic elements and attributes of HTML by John Allsopp (2007-01-08)
* [http://tantek.com/log/2007/04.html#d20t0823 The Importance of Being POSH] by Tantek Çelik (2007-04-20)
* [http://tantek.com/log/2007/04.html#d20t0823 The Importance of Being POSH] by Tantek Çelik (2007-04-20)
* [http://factoryjoe.com/blog/2007/04/21/getting-back-to-posh-plain-ol-semantic-html/ Getting back to POSH (Plain ol’ Semantic HTML)] by Chris Messina (2007-04-21)
* [http://factoryjoe.com/blog/2007/04/21/getting-back-to-posh-plain-ol-semantic-html/ Getting back to POSH (Plain ol’ Semantic HTML)] by Chris Messina (2007-04-21)
* [http://friedcellcollective.net/outbreak/2007/04/22/im-posh-are-you/ I’m POSH - are you?] (2007-04-23)
* [http://friedcellcollective.net/outbreak/2007/04/22/im-posh-are-you/ I’m POSH - are you?] (2007-04-23)
* [http://www.unintentionallyblank.co.uk/2007/04/24/plain-old-semantic-html/ The Internet’s Upper Class Or Why Your Site Should Be POSH] (2007-04-24)
* [http://nate.koechley.com/blog/2006/12/15/divitis_and_correct_div_usage/ On Appropriate Use of DIVs, or When Divitis Doesn’t Apply] by Nate Koechley, 2006-12-15
* [http://nate.koechley.com/blog/2006/12/22/note_on_structural_and_semantic_meaning/ Quick Comment: Choose Class/ID Names Based on Semantic and/or Structural Meaning] by Nate Koechley, 2006-12-22
* [http://leland.nu/think/2006/07/31/seeing-is-believing/ SEEing is believing] - using standards and efficient design, coding, maintenance, and marketing to produce a search-engine-efficient site by Richard Leland (2006-07-31)
* [http://nascentguruism.com/journal/perfection/ Perfection] - by Steve Marshall (2007-11-02)
* ...
* ...


See [http://technorati.com/search/%22semantic%20HTML%22 more blogs talking about "semantic HTML"] and [http://technorati.com/search/posh+semantic+HTML POSH].
See [http://technorati.com/search/%22semantic%20HTML%22 more blogs talking about "semantic HTML"] and [http://technorati.com/search/posh+semantic+HTML POSH].
===POSH Podcasts===
If/when this section gets too big, we can move it to [[posh-podcasts]].
* 2007-05-03: [http://www.netmag.co.uk/podcasts/07-05-03-net.mp3 A talk about POSH] in the .Net magazine podcast episode 8 (56 minutes; 26 Mb. Relevant section 30:10-42:40)
* 2005-09-29: [http://microformats.org/media/2005/09/we05-2-tantek-celik.mp3 The Elements of Meaningful XHTML] - podcast of Tantek's presentation by the same name ([http://tantek.com/presentations/2005/09/elements-of-xhtml/ slides])
=== Hidden POSH Treasures ===
The following sites have POSH related articles, tutorials etc. on them, but you have to dig for them from the home page. Help find the hidden POSH treasures in these sites and add ''direct'' links to POSH related articles, tutorials etc. to the specific sections above. You can leave the top level site links here until/unless you have dug thru the entire site and found all the treasures.
* [http://www.w3schools.com/ W3Schools Online Web Tutorials]
* [http://dev.opera.com/ Dev.Opera]


=== POSH Bling for your Blog ===
=== POSH Bling for your Blog ===
If you want to improve your existing blog, there are some pretty simple things you can do:
If you want to improve your existing blog, there are some pretty simple things you can do:


==== WordPress ====
==== WordPress ====
* Use the [http://www.plaintxt.org/themes/sandbox/ Sandbox] or [http://getk2.com K2] themes that already support hAtom and hCard
* Use the [http://www.plaintxt.org/themes/sandbox/ Sandbox] or [http://getk2.com K2] themes that already support hAtom and hCard
* Add the [http://redmonk.net/archives/2007/04/18/wordpress-widget-hcard-about-box/ hCard About Widget] to your site
* Add the [http://redmonk.net/archives/2007/04/18/wordpress-widget-hcard-about-box/ hCard About Widget] to your site
=== external POSH brainstorming ===
A couple of external wikis have been created to brainstorm and explore [[posh-patterns]].
* [http://poshformats.org/ poshformats.org] - fairly new, and encourages re-use. sample illustrative [[poshformat]] provided.
* [http://poshzone.wikidot.com/markupbazaar poshZone] - older, and appears to reinvent various microformats like [[hCard]] just to add a new property like stock symbol. Much better to re-use existing [[microformats]] and [[posh-patterns]] first, and then only add POSH for anything new, rather than reinventing from scratch.


== Spread POSH ==
== Spread POSH ==
Now that you've poshified your website(s), what next?  Well, help spread POSH to other websites!
Now that you've poshified your website(s), what next?  Well, help spread POSH to other websites!


* Promote POSH.  Make a POSH button (perhaps using semantic HTML and CSS ;) linking to this page and put it on your site, in your blogroll, in your footer, etc.  Maybe even come up with a nice POSH button graphic and share it with the microformats community with a liberal license (public domain, CC-by-3.0, MIT, etc.) Like this one: http://www.brewerdesigngroup.com/posh.png - [http://creativecommons.org/licenses/by/3.0/ CC-by-3.0]
* Promote POSH.  Make a POSH button (perhaps using semantic HTML and CSS ;) linking to this page and put it on your site, in your blogroll, in your footer, etc.  Maybe even come up with a nice POSH button graphic and share it with the microformats community with a liberal license (public domain, CC-by-3.0, MIT, etc.) Like these:
* Another button:
** [http://redmonk.net/archives/2007/04/25/the-new-question/ http://redmonk.net/mt/mt-static/uploads/2007/04/are_you_posh.png] - [http://creativecommons.org/licenses/by/3.0/ CC-by-3.0]
**http://redmonk.net/wp-content/uploads/2007/04/are_you_posh.png
** [http://www.hauntedpalace.net/pandora/craic/poshscribbles.png http://www.hauntedpalace.net/pandora/craic/poshscribbles.png] &#8212; [http://creativecommons.org/licenses/by/3.0/ CC-by-3.0]
**[http://creativecommons.org/licenses/by/3.0/ CC-by-3.0]
** [http://www.hauntedpalace.net/pandora/craic/poshChopin.png http://www.hauntedpalace.net/pandora/craic/poshChopin.png] &#8212; [http://creativecommons.org/licenses/by/3.0/ CC-by-3.0]
* Tell a friend. Talk to web design friends about POSH and convince and help them to poshify both their personal websites, and the websites they build for others.  Blog about your experience with poshification and what steps you went through to poshify your websites. Write a [[posh-testimonial]]!
* Tell a friend. Talk to web design friends about POSH and convince and help them to poshify both their personal websites, and the websites they build for others.  Blog about your experience with poshification and what steps you went through to poshify your websites. Write a [[posh-testimonial]]!
* Come up with more ideas to help spread POSH.  Here are a few.
* Come up with more ideas to help spread POSH.  Here are a few.
Line 126: Line 153:


== Improve POSH ==
== Improve POSH ==
As you read the [[posh#Resources|POSH resources]] documented here, what other POSH resources did you find?  Add them to this page.
As you read the [[posh#Resources|POSH resources]] documented here, what other POSH resources did you find?  Add them to this page.


Line 132: Line 158:


== History ==
== History ==
A brief history of references to "POSH" in this context and "plain old semantic HTML".
A brief history of references to "POSH" in this context and "plain old semantic HTML".


=== plain old semantic HTML ===
=== plain old semantic HTML ===
The earliest references to <strong>"plain old semantic HTML"</strong> that have been found so far are:
The earliest references to <strong>"plain old semantic HTML"</strong> that have been found so far are:
* [http://groups.google.com/group/comp.infosystems.www.authoring.site-design/msg/2373e9043c08cba4 1998-05-01: Kirrily 'Skud' Robert on comp.infosystems.www.authoring.site-design] - "The site is implemented in HTML 4.0 Transitional with style sheets; this means that anyone with an older browser won't get presentational markup, just <strong>plain old semantic HTML</strong>. "
* [http://groups.google.com/group/comp.infosystems.www.authoring.site-design/msg/2373e9043c08cba4 1998-05-01: Kirrily 'Skud' Robert on comp.infosystems.www.authoring.site-design] - "The site is implemented in HTML 4.0 Transitional with style sheets; this means that anyone with an older browser won't get presentational markup, just <strong>plain old semantic HTML</strong>. "
* [http://www.highrankings.com/advisor/tables-seo/ 2006-09-21 Drew's comment by on "Tables and SEO"]: "I’d say it’s well worth it for a variety of reasons to only use tables when you’re presenting tabular data, and use <strong>plain old semantic HTML</strong> to mark up your content in all other cases." (retrieved by [[User:Tantek|Tantek]] 08:20, 20 Apr 2007 (PDT))
* [http://www.highrankings.com/advisor/tables-seo/ 2006-09-21 Drew's comment by on "Tables and SEO"]: "I’d say it’s well worth it for a variety of reasons to only use tables when you’re presenting tabular data, and use <strong>plain old semantic HTML</strong> to mark up your content in all other cases." (retrieved by [[User:Tantek|Tantek]] 08:20, 20 Apr 2007 (PDT))
If you can find earlier references, please ''add'' them and include a brief quotation of the context of the reference to "plain old semantic HTML".
If you can find earlier references, please ''add'' them and include a brief quotation of the context of the reference to "plain old semantic HTML".

Latest revision as of 04:58, 7 April 2013

Plain Old Semantic HTML (POSH)

Welcome to the POSH home page.

Origins

The acronym POSH was coined on 6 April 2007 on the microformats IRC channel, by <kwijibo> as a shorthand abbreviation for "plain old semantic HTML". A discussion on among John Allsopp, Tantek Çelik, Jeremy Keith, and Chris Messina at the Microformats Dinner 2007 April 18 following Web 2.0 Expo reraised the idea of POSH and the importance of promoting the broader goal of POSH, which microformats are built from and are a proper subset of. For more see History.

Why

The term semantic-html is a mouthful, and belies both how simple it is, how well established it is among modern web designers, and the fact that it has benefits far beyond the obvious doing the right thing for the Web by using semantic markup. We need a simple short mnemonic term that captures the essence of the concept, and is easily verbed (to posh, poshify, poshed up).

What

POSH encapsulates the best practices of using semantic HTML to author web pages. Semantic HTML is the subset of HTML 4.01 (or XHTML 1.0) elements and attributes that are semantic rather than presentational. The best way to learn and understand POSH is to do it. Pick a page on your web site to begin with, and apply the POSH Checklist to it. Continue with the POSH Process. Read POSH Resources to learn more about POSH.

The POSH Process

What can you do to be POSH and to make your websites POSH?

  1. Publish POSH content. Read POSH resources and make sure your website publishes valid semantic (X)HTML, and uses semantic-class-names accordingly.
  2. Spread POSH. Encourage others to be POSH and POSHify their websites by linking to this page.
  3. Improve POSH. Help us gather resources to enable more people to easily POSHify their websites.

The POSH Checklist

poshformats

The term "poshformats" distinguishes one-off, ad-hoc or more informal class-name based formats efforts from the more formally researched and documented microformats. Another way of describing the distinction is that microformats are the proper subset of poshformats which have been developed empirically via research and a formal methodology per the microformats process and principles, rather than made-up a priori.

See poshformats for more.

Resources

POSH Patterns

As proper use of semantic HTML and discussions thereof predate microformats by quite a bit, there are numerous resources that document such POSH Patterns. In order to help discoverability and re-use, take a look at (and add what you find to)

POSH Tutorials

Step by step tutorials to create POSH content or upgrade existing content to POSH.

POSH Bookmarks

POSH Presentations

Presentations which explain and advocate concepts and techniques for utilizing semantic HTML. If/when this section gets too big, we can move it to posh-presentations.

POSH Books

Modern web design books which document good semantic HTML practices.

POSH Magazines

Online (and off) magazines which frequently publish articles about semantic HTML. If/when this section gets too big, we can move it to posh-magazines.

POSH Blogs

Blogs that with some regularity post high quality discussions, insights, and in general have advanced the state of the art of POSH. If/when this section gets too big, we can move it to posh-blogs.

POSH Blog posts

Blog posts that provide specific, modern, guidance, techniques and tips for using more and better semantic HTML. This list is incomplete. We know there are lots more blog posts out there that fit the aforementioned description - please add them! If/when this section gets too big, we can move it to posh-blog-posts.

See more blogs talking about "semantic HTML" and POSH.

POSH Podcasts

If/when this section gets too big, we can move it to posh-podcasts.

Hidden POSH Treasures

The following sites have POSH related articles, tutorials etc. on them, but you have to dig for them from the home page. Help find the hidden POSH treasures in these sites and add direct links to POSH related articles, tutorials etc. to the specific sections above. You can leave the top level site links here until/unless you have dug thru the entire site and found all the treasures.

POSH Bling for your Blog

If you want to improve your existing blog, there are some pretty simple things you can do:

WordPress

external POSH brainstorming

A couple of external wikis have been created to brainstorm and explore posh-patterns.

  • poshformats.org - fairly new, and encourages re-use. sample illustrative poshformat provided.
  • poshZone - older, and appears to reinvent various microformats like hCard just to add a new property like stock symbol. Much better to re-use existing microformats and posh-patterns first, and then only add POSH for anything new, rather than reinventing from scratch.

Spread POSH

Now that you've poshified your website(s), what next? Well, help spread POSH to other websites!

  • Promote POSH. Make a POSH button (perhaps using semantic HTML and CSS ;) linking to this page and put it on your site, in your blogroll, in your footer, etc. Maybe even come up with a nice POSH button graphic and share it with the microformats community with a liberal license (public domain, CC-by-3.0, MIT, etc.) Like these:
  • Tell a friend. Talk to web design friends about POSH and convince and help them to poshify both their personal websites, and the websites they build for others. Blog about your experience with poshification and what steps you went through to poshify your websites. Write a posh-testimonial!
  • Come up with more ideas to help spread POSH. Here are a few.
    • Hold a PoshPit - a one or half day marathon session mixing semantic HTML experts with folks who maintain/run web sites in general and see how many websites you can collectively upgrade to POSH during the course of the day.
    • ...

Improve POSH

As you read the POSH resources documented here, what other POSH resources did you find? Add them to this page.

With your experience with both poshifying your sites and helping others do so, what have you learned? What kind of issues did you run into? What questions were commonly asked? What do you feel like you need to more easily and quickly help more people poshify their content?

History

A brief history of references to "POSH" in this context and "plain old semantic HTML".

plain old semantic HTML

The earliest references to "plain old semantic HTML" that have been found so far are:

If you can find earlier references, please add them and include a brief quotation of the context of the reference to "plain old semantic HTML".