Re: hidden versus discoverable meta-data

On 1/14/10 3:12 PM, Joe D Williams wrote:
> I bet true or at least mainly true for elements (especially elements
> with content) but not true at all for attributes. Looking for an
> example, but attributes or their values are never displayed directly.

The string value of the attribute is usually not displayed directly 
(there are exceptions; for example @value on <html:input>, @title on 
root <svg:svg>, @start on <html:ol>; probably a few others).

However the attribute value most definitely affects either the display 
of the element (for various HTML elements this would include things like 
width, height, rows, cols, value, checked, border) or the behavior 
(href, name, wrap, etc).

The real question that needs to be asked is "if this value got changed, 
or just got out of sync with this other thing, would the author notice?"

Practice suggests that authors are really bad at noticing.  It's pretty 
common to have anchor target names not match the actual anchor names or 
ids.  It's fairly common to have random "junk" attributes that used to 
be used for something but aren't anymore.  It's fairly common to have 
<input type="hidden"> that are completely unused by the either the page 
or the server.

Fundamentally authoring works like this, for the most part, from what I 
can tell:
1)  You put something together.
2)  You try it a bit in your browser and make any changes that are
     needed to make it "work".
3)  If you later need to make an incremental change, go back to step 1.

In fact, this is how a lot of software development seems to work.  I'm 
sure there's a minority of authors who try to make sure their stuff 
works because it's supposed to and not just by accident, just like 
there's a minority of software developers who try to prove their code 
correct and worry about portability to systems which might have 
different endianness or more than 8 bits per byte.  But those are a 
quite distinct minority, from what I see.

Note that the above process is not conducive to having correct code 
(whether HTML, JS, CSS, C++, or whatever) on the paths not exercised in 
step 2...  That's all that's being claimed about "hidden" metadata: it's 
not looked at in step 2, so can easily diverge from the actual data, and 
does in fact do so.

-Boris

Received on Thursday, 14 January 2010 20:27:23 UTC