<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Everything In Between &#187; Hypertext Copywriting</title>
	<atom:link href="http://maymay.net/blog/category/web-design/hypertext-copywriting/feed/" rel="self" type="application/rss+xml" />
	<link>http://maymay.net/blog</link>
	<description>The brutally honest, first-person account of Meitar Moscovitz&#039;s life.</description>
	<lastBuildDate>Thu, 19 Jan 2012 08:54:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How web designers can do their own HTML/CSS: Read Foundation Website Creation</title>
		<link>http://maymay.net/blog/2008/07/21/how-web-designers-can-do-their-own-htmlcss/</link>
		<comments>http://maymay.net/blog/2008/07/21/how-web-designers-can-do-their-own-htmlcss/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 14:22:19 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Hypertext Copywriting]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Maymay Media]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Accessibility]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Writing and blogging]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=476</guid>
		<description><![CDATA[Last month, 37signals published a short but sweet post about why web designers should do the HTML/CSS implementations for their own designs. The bottom line is, as we&#8217;ve all been saying for a long time now, that the Web is not the same kind of medium as other mediums like print. It is a fundamentally [...]]]></description>
			<content:encoded><![CDATA[<p>Last month, 37signals published a short but sweet post about why <a href="//www.37signals.com/svn/posts/1066-web-designers-should-do-their-own-htmlcss">web designers should do the <acronym title="HyperText Markup Language">HTML</acronym>/CSS implementations for their own designs</a>. The bottom line is, as we&#8217;ve all been saying for a long time now, that the Web is not the same kind of medium as other mediums like print. It is a fundamentally different kind of canvas than most web designers are used to using. As a result, if you as a web designer are not intimately familiar with it, you&#8217;re not going to do great work.</p>
<blockquote cite="//www.37signals.com/svn/posts/1066-web-designers-should-do-their-own-htmlcss"><p>designing for the web is a lot less about making something dazzle and a lot more about making it work. The design decisions that matter pertain directly to the constraints of the materials. What form elements to use. What font sizes. What composition. What flow. Those decisions are poorly made at an arm’s length.</p>
<p>I’ve worked with many web designers in the past who only did abstractions and then handed over pictures to be chopped and implemented by “<acronym title="HyperText Markup Language">HTML</acronym> monkeys”. It never really gelled well. The things that got strong attention were all the things that Photoshop did well. Imagery, curvy lines, and the frame. All the <em>around</em> stuff, never the <em>it</em> stuff.</p></blockquote>
<p>In other words, to do great web design you have to design <em>in</em> the Web, not in some other medium <em>for</em> the Web. I mean, serious magazine firm employs designers who don&#8217;t understand how to work with page layout programs like InDesign. Why, then, do so many web design agencies employ designers who don&#8217;t know how to work with web technologies, or even how to use programs like Dreamweaver? It doesn&#8217;t really make any sense, and it&#8217;s no wonder that the resulting implementation is rarely top-notch work.</p>
<p>But if you&#8217;re a graphic designer who doesn&#8217;t know much about Web technologies, what are you to do? Well, as a first step, I think you should pick up my new book, <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FFoundation-Website-Creation-XHTML-JavaScript%2Fdp%2F1430209917%2F&#038;tag=maymaydotnet-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">Foundation Website Creation</a><img src="http://www.assoc-amazon.com/e/ir?t=maymaydotnet-20&amp;l=ur2&amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />. It&#8217;s available from all good booksellers (and probably some crappy ones) as of today. The book is targeted towards all manner of web professionals, including graphic designers and website producers, who want to learn more about what it takes to actually implement a site.</p>
<p>If I do say so myself, the chapters on <acronym title="eXtensible HyperText Markup Language; HTML reformulated as XML">XHTML</acronym> and <acronym title="Cascading Style Sheets">CSS</acronym> are exceptionally thorough. The book <em>doesn&#8217;t</em> try to turn you into an exceptional programmer. Instead, it will explain the foundational concepts you need to know to <em>understand how <acronym title="eXtensible HyperText Markup Language; HTML reformulated as XML">XHTML</acronym> and <acronym title="Cascading Style Sheets">CSS</acronym> actually work</em>, and in so doing will enable you to use the tools you already know to solve problems and get things done.</p>
<p>I think this book will be an excellent starting point for lots of designers and other web professionals. However, it is not going to take you from zero to hero—no book can. That&#8217;s why I recommend that, after you read <cite>Foundation Website Creation</cite> and have a solid grasp of what the technology can do for you and how it actually does it, you next take a look at these excellent books:</p>
<ul>
<li><a href="http://domscripting.com/book/"><acronym title="Document Object Model">DOM</acronym> Scripting by Jeremy Keith</a> — if you&#8217;re a designer that needs to add a behavioral layer with JavaScript and Ajax to your pages, you need to read this book next.</li>
<li><a href="http://www.amazon.com/Mastering-Dreamweaver-Voices-That-Matter/dp/0321508971">Mastering <acronym title="Cascading Style Sheets">CSS</acronym> with Dreamweaver CS3</a> &#8211; if you&#8217;re familiar with Dreamweaver and want to keep using it to create standards-based web sites, then I recommend you follow <cite>Foundation Website Creation</cite> with this book by <a href="//w3conversions.com/">Stephanie Sullivan</a> and Greg Rewis to take your Dreamweaver skills to the next level.</li>
</ul>
<p>As always, most of all, have fun. Because if you&#8217;re not having fun, you&#8217;re not going to make good web sites no matter what you know.</p>
<p><strong>Note:</strong> As of this writing, the book listing on Amazon still publishes the wrong author list, which is very frustrating but out of my hands. At least the image of our book&#8217;s front cover lists the correct authors.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/07/21/how-web-designers-can-do-their-own-htmlcss/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Targetting Relevance in Long Web Pages with the CSS :target Pseudo-Class</title>
		<link>http://maymay.net/blog/2005/03/11/css-target-relevance/</link>
		<comments>http://maymay.net/blog/2005/03/11/css-target-relevance/#comments</comments>
		<pubDate>Fri, 11 Mar 2005 20:24:47 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Hypertext Copywriting]]></category>
		<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">/?p=199</guid>
		<description><![CDATA[Context and relevance are sometimes lost when linking to pages on the web. Basic HTML and good hypertext copywriting habits (like using <code>title</code> attributes) can help, but not always enough. Here's a totally new method (I think) to embed what I call <dfn>relevancy messages</dfn> into the <em>destination page</em> of a site.]]></description>
			<content:encoded><![CDATA[<h3>The Importance of Context and Relevance</h3>
<p>Context and relevance are two of the most important aspects of effective communication. If the context of a message is not understood then the commuication will likely be disregarded, or worse&mdash;misinterpreted. If the message isn&#8217;t relevant to the topic at hand then it will be useless to everybody involved.</p>
<p>In order to ensure that a message is successfully received and has the desired effect, one must first ensure that the context for that message is properly set up and that the message itself is relevant to the subject matter.</p>
<p>An excellent example of a scenario where a loss of context and/or relevance can easily cause communication problems is receiving email messages. Surely everyone has recieved an email that they simply don&#8217;t know what to do with or why they&#8217;ve gotten it. (By the way, for some unbelievably insightful tips on composing effective email messages, read <a href="http://hbswk.hbs.edu/item.jhtml?id=4438&#038;t=srobbins" title="Tips for Mastering E-Mail Overload">this article</a> [via <a href="http://www.43folders.com/2005/03/stever_robbins_.html" title="43 Folders: Stever Robbins on email overload">43 Folders</a>].)</p>
<p>The same thing can&mdash;and does&mdash;happen on the web. For example, let&#8217;s say you&#8217;re reading a page which has a link in its text to another page. You decide to follow the link but once you&#8217;ve arrived at the new page you find yourself  staring at an enormous amount of other text that doesn&#8217;t have anything to do with why you followed the link in the first place. Suddenly you&#8217;re confused, you feel lost, and you quickly push the &ldquo;Back&rdquo; button of your browser.</p>
<p>What went wrong here? Context was lost; the destination page had no relevance to the source page. If it did, you couldn&#8217;t find it because it wasn&#8217;t clearly identified. This is a confusing and frustrating situation, and one that I&#8217;m willing to bet happens way too often on the web.</p>
<p>On my own blog, I frequently link to entries I&#8217;ve previously written. Sometimes these entries can be quite long, and I&#8217;m not always referencing the entire entry in my link. But by pointing the link to a specific &ldquo;intra-page&rdquo; anchor by using a <a href="http://www.w3.org/DesignIssues/Fragment.html" title="What it is and how to make one.">fragment identifier</a> and clearly marking the relevance of this information in both the link itself (with a descriptive <code>title</code>) <em>and in the landing page</em> (with what I&#8217;ve come to call a <dfn>relevancy message</dfn>), context is preserved and confusion is eliminated.</p>
<p>To see what I&#8217;m talking about in practice, check out <a href="/tests/css/relevant-anchors/1.html" title="An example to show what I'm talking about.">my experiment pages</a>. It&#8217;s a demo of the problem and relevancy messages in action.</p>
<h3><acronym title="Cascading Style Sheets level 2">CSS2</acronym> The Rescue</h3>
<p>There&#8217;s only one problem left. How does one insert text into the landing page which will be viewable when someone follows a <em>specially-crafted</em> link to it, but <em>not</em> when they arrive at the page via any other link? Though it is possible to program this into your pages using <acronym title="PHP Hypertext Preprocessor; an HTML-embedded scripting language">PHP</acronym> or another web scripting language, <acronym title="Cascading Style Sheets">CSS</acronym> level 2 offers a much simpler and maintainable solution: the <code>:target</code> and <code>:before</code> pseudo-classes.</p>
<p>When used in combination, the <code>:target</code> and <code>:before</code> pseudo-classes can be used to generate text on a page at a specific point in the document when your page is linked to in a certain way. By using an additional <acronym title="Cascading Style Sheets level 2">CSS2</acronym> function, <code>attr()</code>, we can also generate customized text for each landing spot within the document. Let&#8217;s take a look at each component separately.</p>
<h4>The <acronym title="HyperText Markup Language">HTML</acronym> You&#8217;ll Need</h4>
<p>Let&#8217;s say you&#8217;re writing about apples. In your text, you link to a previous article you wrote about oranges. Your link in the article on apples might look like this:</p>
<pre>&lt;a href="oranges.html" title="Oranges have a thick, white pith beneath their skin." &gt;oranges&lt;/a&gt;</pre>
<p>And your text in the article on oranges might look like this:</p>
<pre>&lt;p&gt;[&hellip;] The skin of an orange is thick, porous, and varies in color from deep to light orange. There is a bitter-tasting white pith underneath the outter-most layer of the fruit's skin. [&hellip;]&lt;/p&gt;</pre>
<p>In order to link directly to the paragraph mentioning the orange&#8217;s pith you need to insert a named anchor just after the opening paragraph tag where that content was written. You also need to append this name to the <acronym title="Uniform Resource Identifier">URI</acronym> of the link, as a fragment identifier. The resulting <acronym title="HyperText Markup Language">HTML</acronym> for the link might look like this:</p>
<pre>&lt;a href="oranges.html#skin" title="Oranges have a thick, white pith beneath their skin." &gt;oranges&lt;/a&gt;</pre>
<p>The resulting <acronym title="HyperText Markup Language">HTML</acronym> for the paragraph about oranges might look like this:</p>
<pre>&lt;p&gt;&lt;a id="skin"&gt;&lt;/a&gt;The skin of an orange is thick, porous, and varies in color from deep to light orange. There is a bitter-tasting pith underneath the outter-most layer of the fruit's skin.&lt;/p&gt;</pre>
<h4>The <acronym title="Cascading Style Sheets">CSS</acronym> You&#8217;ll Need</h4>
<p>Once the <acronym title="HyperText Markup Language">HTML</acronym> is in place, you need to create a style rule to generate the text you&#8217;ll want to display before the paragraph. Your style sheet might look like this:</p>
<pre>a:target::before { content: "Here's what I referenced with my link on the last page: "; font-size: larger; font-weight: bold; }</pre>
<p>You can even take it one step further. By adding a <code>title</code> attribute with some helpful text in your named anchor, you can actually display that text (specific to the reference you&#8217;re making) instead of the generic &ldquo;Here&#8217;s what I referenced&hellip;&rdquo; text. The <acronym title="Cascading Style Sheets">CSS</acronym> for that would look like this, and it would display whatever you write as the <code>title</code> for <em>each</em> named anchor you use:</p>
<pre>a:target::before { content: attr(title); }</pre>
<h3>Limitations</h3>
<p>The major drawback to this technique is that you need to change the code of the destination document for it to work. Specifically, you need to insert named anchors (though you can also target <em>any</em> element by giving it an unique <code>id</code>), and you need to insert a style rule. (However, see below for another experiment that will let site owners allow people to get around this limitation.)</p>
<p>Another major drawback is that it requires a fully <acronym title="Cascading Style Sheets level 2">CSS2</acronym>-compliant browser. That means Internet Explorer 5 and 6 (both Macintosh and Windows versions) will not show the special content on the destination page. They will, however, move focus to the point in the document at which the anchor resides.</p>
<h3>Looking to the Future</h3>
<p>I have been playing with this technique recently on my blog (can you find the links I&#8217;ve used this on? ;). The obvious benefit is creating a far more seamless transition from one page to another and maintaining the same context across web pages. This is invaluable for me and my readers in particular, since I tend to enjoy writing and end up writing far longer entries than I probably should. (Even though I use headings to divide my entries into logical chunks, it&#8217;s still good to have another trick up my sleeve to help usability!)</p>
<p>However, this technique is ripe for expansion. For instance, I have created <a href="/tests/php/dynamic-target-relevance/?r-msg=How+you+can+let+anyone+embed+a+relevancy+message%3A%20#concept" title="A proof-of-concept for dynamic relevancy messages in action.">another experiment</a> to dynamically generate the content of the <acronym title="Cascading Style Sheets">CSS</acronym> rule based upon a variable in a <code>GET</code> querystring. (It uses three lines of <acronym title="PHP Hypertext Preprocessor; an HTML-embedded scripting language">PHP</acronym>, and that link itself is a proof-of-concept.) This will allow people to write links that point to my documents and <em>insert their own special relevance-describing blurbs</em> in front of the fragment they&#8217;ve linked to. (Yes, I realize this may pose <acronym title="Cross Site Scripting">XSS</acronym> security problems, I&#8217;m still just playing with the concept.)</p>
<p>Exploring all of this is a lot of fun. The crux of this technique relies upon  accessible and clever hypertext copywriting to enhance usability when linking to web pages and referencing information across pages or, one day, sites. As is the case with most things Web, simple is better.</p>
<p>I&#8217;m very eager to hear about comments on this technique. Are there dangers I haven&#8217;t seen yet? Can you think of another way to use it that I haven&#8217;t mentioned here? Are you already using it on your own site? All feedback welcome. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2005/03/11/css-target-relevance/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Who Actually Clicks Click Here?</title>
		<link>http://maymay.net/blog/2005/02/26/who-actually-clicks-click-here/</link>
		<comments>http://maymay.net/blog/2005/02/26/who-actually-clicks-click-here/#comments</comments>
		<pubDate>Sun, 27 Feb 2005 00:27:30 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Hypertext Copywriting]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">/?p=194</guid>
		<description><![CDATA[Writing &#8220;click here&#8221; for just about anything is always bad. Here's an especially interesting example of bad hypertext copywriting.]]></description>
			<content:encoded><![CDATA[<div class="flickr-photo-frame">
 <a class="flickr-img-link" href="http://www.flickr.com/photos/maymay/5485765/"><img class="flickr-img" src="http://photos5.flickr.com/5485765_6f52e00c88_m.jpg" alt="Using the nondescript &ldquo;click here&rdquo; anchor text to link to a shopping page is a bad idea." /></a></p>
<ul class="flickr-photo-details">
<li class="title"><a href="http://www.flickr.com/photos/maymay/5485765/" title="Go to this photo's Flickr page.">Remove Product Confirmation Web Dialogue</a></li>
<li class="uploader">Originally uploaded by <a href="http://www.flickr.com/people/maymay/" title="Go to this uploader's Flickr profile.">maymaym</a>.</li>
<li class="upload-datetime">Added to the photostream on 26 Feb &#8217;05, 3.29pm PST.</li>
</ul>
</div>
<p><!-- Flickr blog content --></p>
<p>I have been experimenting with my coffee purchases as of late and found myself changing some of my <a href="http://gevalia.com/" title="Online or mail-order coffee specialists.">Gevalia</a> shipments around. After removing a product from my delivery list, I was asked to confirm the action. I was also given the choice to restore the product or add a new product.</p>
<p>Curiously, they used the hypertext copy <q>&hellip;to add a new product click click here</q>, with the last two words made into a link to the product-adding page. This is the epitomy of the so-called &ldquo;click here&rdquo; mentality, where the very phrase &ldquo;click here&rdquo; has been so objectified that it is used as a noun unto itself.</p>
<p>To make matters worse, there was no <code>title</code> attribute for the link which may have served to mitigate the uselessness of the instructions. Adding to the confusion is the fact that the clearer instruction on how to restore the product was <em>not</em> a link. Instead, that button is way over on the other side of the page.</p>
<p>So, the morale of the story is that nobody&#8217;s actually going to click a &ldquo;click here&rdquo; link the first time around. They first have to decipher what it will actually do and sometimes that&#8217;s even more confusing than it was in this example.</p>
<p>Instead of such meaningless anchor text, it is always better to turn the verbs of a sentence into a link. In this case, I would have said something like &ldquo;The product will no longer be sent with your future shipments. You can still <em>restore this product</em> if you&#8217;d like to continue receiving it, or you can <em>add a new product</em> instead,&rdquo; with the emphasized text being the links for the respective actions. For extra credit, change &ldquo;The product&rdquo; into the actual name of the product I&#8217;ve just removed.</p>
<p>Clear, unambiguous, and personable text that&#8217;s easy to read with just a quick glance. That&#8217;s what hypertext copywriting is all about. More to the point, I gaurantee you that more folks would actually order additional products that way, too.</p>
<p><!-- end Flickr blog content --></p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2005/02/26/who-actually-clicks-click-here/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

