11:00
<virtuelv>
a tad off-topic, but should still be of some interest, http://www.andybudd.com/archives/2007/05/css22/index.php
11:08
<hsivonen>
http://hsivonen.iki.fi/thesis/bib4ht-0.9.tar.gz may interest people who seek to author stuff in XHTML+SVG instead of LaTeX+EPS.
11:09
<annevk>
virtuelv, not really, we've been discussing CSS5
11:09
<met_>
CSS5 ? 8-)
11:11
<annevk>
met_, nothing more concrete than that, although it sort of implies a cleaned up version of CSS with probably some features for applications
11:11
<annevk>
and more aimed at implementors
11:12
<met_>
if it helps in some progress, good
11:13
<hsivonen>
now that I have a legitimate reason to do XHTML+SVG vs. HTML+PNG serving from a single URL, I'd be interested in pointers to a howto on how I can write my own decision logic with Apache
11:14
<hsivonen>
should I use mod_rewrite to map http://hsivonen.iki.fi/thesis/html5-conformance-checker to a PHP script?
11:15
<hsivonen>
basically, I want to serve a/x+x if Accepted but serve t/h to a old version of popular a/x+x-accepting browsers
11:49
<MichaelMH>
hello
11:50
<zcorpan>
MichaelMH: heya
11:53
<MichaelMH>
I'm back, I did a little bit of reading last nite. the FAQ seems to be a bit unfinished though
12:03
<annevk>
MichaelMH, yeah, much like the spec
12:03
<Lachy_>
MichaelMH, if you would like to contribute to the FAQ, I'd appreciate it :-)
12:06
<MichaelMH>
I'm afraid I'm not very good at writing about things I do not fully understand myself :P
12:06
<Lachy_>
well, if there are any unanswered questions you would like answered, let me know, and I can write an answer for you
12:07
<Lachy_>
or if you have any new questions
12:08
<MichaelMH>
this one: "Why do we need both HTML 5 and XHTML 2.0?" although zcorpan explained it to me last nite it was what confused me the most when I came to this site
12:13
<met_>
Lachy_, you still insist on "When will HTML 5 be finished? Around *15* years or more to reach a W3C recommendation"? 8-)
12:14
<Lachy_>
at the rate the HTMLWG is resolving any issues, I'd be inclined to extend that a little :-)
12:14
met_
uffs
12:15
<Lachy_>
but I have faith in Hixie getting his act together and actually doing some work on the spec regardless of the HTMLWG ;-)
12:15
<annevk>
In terms of features HTML5 is mostly finished. In terms of gaining implementation experience and incorperating feedback and implementation feedback it's not. And that's a process that likely takes a decade or longer.
12:15
<annevk>
This is a very different model from older specifications.
12:16
<annevk>
Older specifications were mostly finished in terms of features. And where then rubberstamped with a W3C sticker on top.
12:16
<Lachy_>
it's similar to the model used for CSS2.1, but even that's gradually failing
12:16
<annevk>
And never took much implementation experience into account etc.
12:16
<Lachy_>
HTML4 advocates still refuse to take implementation experience into account
12:17
<Lachy_>
XHTML2 advocates as well
12:19
<MichaelMH>
Do I need to be advance in javascript to use canvas?
12:19
<Lachy_>
you can get libraries that do a lot of the difficult work for you, depending on what you want to do
12:19
<annevk>
You need to understand some of the basics, yes.
12:19
<Lachy_>
e.g. PlotKit is really simple and easy to understand if you want to draw a graph
12:19
<annevk>
But there's lots of tutorials out there
12:20
<Lachy_>
but to build a game like Doom in Canvas, you need to be a genius like Philip`
12:20
<met_>
yes Doom in cavas is great 8-)
12:20
<met_>
*canvas
12:21
<MichaelMH>
doom in canvas?
12:21
<met_>
any idea when it become multiplayer? 8-)
12:21
<MichaelMH>
link me =0
12:21
<virtuelv>
MichaelMH: there's several
12:21
Lachy_
is looking for the link
12:21
<met_>
MichaelMH http://canvex.lazyilluminati.com/84/play.xhtml
12:21
<Lachy_>
that's it
12:21
<met_>
and http://canvex.lazyilluminati.com/83/play.xhtml
12:21
<virtuelv>
and http://www.abrahamjoffe.com.au/ben/canvascape/
12:24
<MichaelMH>
witchcraft
12:32
<Lachy_>
here's a pre-canvas attempt at a 3d game http://www.sylloge.com/5k/entries/232/domaze5k.htm
12:32
<Philip`>
met_: I've thought about adding multiplayer, but sadly not had the time to implement it :-(
12:33
<Philip`>
(There isn't really any complicated JS, though - most of the non-trivial bits are just the maths in the raycasting/rendering part)
12:34
<met_>
Philip`, keeping fingers crossed you early have!
12:36
<virtuelv>
met_: 84/ - really quite smooth in Opera
12:36
<virtuelv>
but it makes my CPU bleed
12:38
<MichaelMH>
yeeeah. just made my first rectangle with canvas
12:38
<MichaelMH>
its immense
12:38
<MichaelMH>
best rectangle ever.
12:38
<Philip`>
There's not much point having a fast CPU if you don't want to actually use it to its full extent :-)
12:40
<Philip`>
Even normal Doom isn't incredibly smooth on my computer - admittedly that's running at 1280x960 and inside Wine, and the original was a bit faster, but still the JS version isn't too awful in comparison...
12:43
<MichaelMH>
is the drawing paths stuff just like dot to dot?
12:43
<annevk>
MichaelMH, yeah
12:43
<annevk>
MichaelMH, the nice thing about <canvas> is creating images easily without a graphics editor
12:44
<annevk>
when you're done you just invoke toDataURL() and save the resulting URL as a PNG :)
12:44
<MichaelMH>
=0 thats so cool.
12:44
<MichaelMH>
I'm going to attempt a star
12:44
<Lachy_>
annevk, if you call writing a script to draw an image, easier than working with photoshop, then ok
12:44
<annevk>
http://annevankesteren.nl/2006/08-paintr21 has a simple sample of that
12:45
<annevk>
Lachy_, well, I don't have photoshop :)
12:45
<Lachy_>
ah, ok
12:45
<virtuelv>
a slightly more complex example, http://widgets.opera.com/widget/4647
12:45
<Lachy_>
MS Paint is pretty good though
12:46
<annevk>
MS paint is web stuff now
12:46
<annevk>
photoshop is next
12:46
<MichaelMH>
yeah if ms paint had multiple levels of transparancy and layers then it would be such a good pixel art tool
12:46
<met_>
annevk, Paintr excellent idea 8-)
12:47
<Lachy_>
that's awesome! data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAL2UlEQVR4nO3dy28TVxsG8OccOyQOQSWBCBoIAhqgZQMIBF0UqFq6KeqGZRewasuOXaXSPyBhB91FLNoFLIAlLQKJXihNLxEI2NGSoBJKgBYIYBQHHPt8i3xncIzzJrbHc449z0+yuCgevx77mffMmUuUMcaAiErSrgsg8hkDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAE
12:47
<Lachy_>
AkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGJEJ9fX344osvXJdBZUi6LqBRnDlzBnv37sXExETwf62trQCAjo4OAMDIyAgOHDjgpD6qDDtIFc6cOYOOjg4opbB79248fPgQExMTyGazyGazyGQyyGQySKfTSKfT2LBhA3bu3Om6bCdOnToFrbX4SCQSrst8lfGMUspEWVZ/f79pamoyWuuSj0Qi8cpDa20ABI/29nbz3XffRVZzPTlx4kTwmc7l4RvvKopiRfX395tkMjmnD0wpVfLBUMyucEOilDInT56c9We11hFWODuvAlLNSjp06JDRWs/4hS61FUsmk6a/v78G74Ts+lZKmRMnTszpOT6GxJuAVLJybCjm2r4ZitpLpVLBuq7ki26Ddfr06RpU
12:47
<Lachy_>
Vz5ljDFh79dUQikFALDlaD3z/EFxyVpr9Pb24vPPP69dgTQj+1kVfi6pVArj4+NlL+vbb7/FRx99BKUU8vl8aDVWyouAXLx4ETt27Ji2UmxgZsJQ+KPwswrji621hpka3VRbWtW8OA5ipz4vXLgQ/J8PK4fmJuzPqqWlBZlMBq2trRV1oTA57yClugeRUsqL74TzA4WlugcR4McownkH8Wm8Sf7w5XvhvIMQldLS0gLg5flsrjjvIMXTu0SWD/shTjvIwMAAgNmndCmelFLON5xOA7J9+3YAUzNZcaa15kaiBB+GWc6GWAMDA3jnnXect1AfJBIJ5PN5aK2Ry+Vcl+MV18MsZx2E3eOlXC4HrXUQkmXLlrkuySsuh1nOOogv03g+sZ3EUkrh9ddfx507dxxW5Zbr7wmneT2Sy+VgjEFXV1ewgzo6Ogq
12:47
<Lachy_>
llHjyJtUO17qH7ty5g3w+/0pYlFJoampyXV6k7OSFq8txGRDP2bB88sknUEphcnISWmt8+umnrkuLhJ20cLWTzn2QOtPU1ITJyUkAiM2sl8vvCjtInclms8Fwy856HT9+3HVZDctZB+EpJtWbN28estksgKnO8uLFC8cV1UZsOwiPHlfnxYsXOHbsGICpzqK1xsqVK90W1WCcdJBkMolcLof3338f58+fn/Hnwpja1FoHY/ZGVuoYyl9//YWenh6HVYXDZQdxEpDZhleLFi3Co0ePavK6S5cuxejoaOjL9sXKlSsxMjISrNtGCEqshli7du0CUHpe+8qVK9BaB+Ho6OgIVkw1j0QiERxLuHv3LpRSft7mMgR///038vk8bty4EbznNWvWQGtd1yFxJfIOUmprkEwmgwNjQDh3xphJV1cX7t27F8wEff
12:47
<annevk>
dude
12:47
<Lachy_>
3119i3b19NXssHQ0NDWLt27bT1XW/Tw7EaYtk3a0/Om1aMUrh8+TI2bdpU8zriMgNUqKenBzdv3py2IbJ/+hyYWA2xrHw+Hwx17JvP5/ORhAOYmgH65ptvAEzNADXqkKvQ0NBQcOwEwLT17vP7j9XZvHZr4NN1IIVdzectaS3Y9w5MdZJbt26hu7vbcVUvtba2IpPJOPu+RN5B7IcxODgY9UvPyG5Vfd+S1oLd97NBWbFihVfrIJPJAHB3LlbkAbFXiG3ZsiXqlxYVX7S0f/9+1yVFKpfLYWRkJNhS21PsXYbFDgVTqZSzGpwMsQYHB70LiFV8wC2RSMTiQGOh4nXgYuj5yy+/BFedxmofpF7Yo/1W3PdPovyaFAbU9Xrn2bwzmJychDEGn332WTDs8GlsHgU71IrSr7/+GoTj4sWLzjdK7CBzFNc7j
12:48
<Lachy_>
0R5DMKnzmGxg8xRLpcLOsnQ0JDrchrO77//HoRjYGDAi3AA7CBlGRoawpo1a7w6hlNrUXQQHzuHxQ5Shp6enmkHOnnyX/VsOJRS+O2337wKB+DJb5iqJ7lcDj09PRgeHsbw8DASiYR3H2q9GBwcDMLha0fmEKsKcThFpZZDLLvsP/74A1u3bg19+WFgQKrU6NfW1yog9TIryH2QKvG6+vJdvnw5GFL5HA6A+yAUseIZK9/5XyE1jMIZq0uXLnnfPQB2EBKMjY2Ftu9RL/scxRgQKqm5uTm4DLnac9DqNRwAh1hVa9TZK3u9/qNHj6o63f/atWvBsKrewgEwIBU7d+5csJNZDzublWpvb6/q+fYeA1euXAmjnMjxOEgF2tvb8fjxYwDAwoULMTY25rii8FV7fKfwZhzVLMe1xt301YjWOgjH2bNnGzIc
12:48
<Lachy_>
X375JYDq9j0Kw1HPx4rYQebI3l0D8O+M07BV0z0q6Rz2OeWK4r7L7CCz6Ovrg9Y6uPVMb29vQ4fD/oq3gwcPVvT8cjvHP//8E9xZpdyHvUZn3rx5FdU6F+wggsKjvqlUCuPj444rqr1q9z1mO3eruFvYv9++fRvLly8v67WK7xtga29paQnts2IHKeH7778PbgFkbwAdh3A8e/YMQGX7HolEYtpNHmb6meJuAUyFqtxwAC/vG2C7nl2m7fZaayxcuLDs5RYqu4P09fXhyZMn6O3treqFfdXZ2YkHDx4AABYvXoz//vvPcUXRsVvkdDqNtra2sp5bHI7i4VVhGGo9RE2lUpiYmAj+vXr1agwPD1e0rIo6yKFDh/Dhhx/iq6++quhFfbRjxw5orYNwnD9/PlbhePbsGXK5HBKJRNnhKKV4fwGIbnIjk8n
12:48
<Lachy_>
AGINFixYBAG7evAmlFJqbm9Hd3Y0LFy7MfWGmTD/++KN5++23DQDT1dVV7tO9cvjwYaOUMgCCh9badVlO2PWQTqddlxK61atXG6WU0VoH71MpZV577TWzbt06c/To0RmfW3ZArLVr1xoAZv78+Wb+/Pnmvffeq3RRkWtubp4WCqWU2b59u+uynGlvbzcAzIIFC1yXEomffvrJdHd3m7a2NrNgwQKjtTYff/xxyZ+teCf9gw8+QFtbG7LZLMbHx/HDDz9g/fr1lS6u5u7fvw+tNZRSeP78OYCpE/LM/2////PPPzuu0J2xsTEopfD06VPXpURi586dGBkZQTqdxtOnT3Hy5MmZ72gfVirfeustA8C88cYbYS2yav/+++8rQyillDl8+LDr0rxx5MgRA8AcOXLEdSleCvU4iL3bB+D+9ILit6WUwt27d7
12:48
<Philip`>
That's not working so well in IRC
12:48
met_
considering Lachy_
12:48
<Lachy_>
FkyRJHFfnJzlyF+DVoKKEfKHzzzTfx559/hrnIiimlcP/+fXR2drouxVuNftOJaoV+wdT169fDXiTVyLJlywAAK1ascFyJv3gkPabWrVuH0dFRdHV14datW67L8RbPxYopl785tp6wg8TQxo0bYYzB5s2bXZfiPQYkZrZt24Zr165hw4YNuHTpkutyvMeAxMiePXswODiIrVu34urVq67LqQvcB4mRzs5OPH78OLhjCc2O98WKkY6OjppefdeIGJAYWbVqFZ48eeK6jLrCgMTIu+++y4CUifsgRALOYhEJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESM
12:48
annevk
wonders where the bot is that kicks Lachy_ for spamming
12:48
<Lachy_>
CBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiT4H/chN4QySzv4AAAAAElFTkSuQmCC
12:48
<Lachy_>
woah!, sorry
12:48
<Lachy_>
didn't realise it was that long :-)
12:48
<met_>
we did 8-)
12:48
<annevk>
that's why you save it and then upload it :)
12:48
<Philip`>
Run optipng on it first :-)
12:49
<MichaelMH>
... what is that mess?
12:49
<annevk>
a URL
12:49
<Lachy_>
it's a data: URI
12:49
<Lachy_>
copy and paste, and then stick all the bits together
12:49
<MichaelMH>
I don't think my address bar would explode
12:50
<MichaelMH>
i mean.. I do* think
12:50
<annevk>
neh
12:50
<annevk>
maybe in IE
12:50
<MichaelMH>
lol
12:50
<annevk>
the URL limit in other browsers has been extended specifically for data URLs
12:51
<Philip`>
Aha, it works - "5 7 2"
12:51
<annevk>
hah, only Opera can render Henri's thesis in its preferred format
12:51
<annevk>
(with a released version that is)
12:51
<annevk>
(released non-beta)
12:52
<annevk>
(the amount of disclaimers you need to not end up in a flame war...)
12:52
<Lachy_>
http://tinyurl.com/3x7b25 will redirect to it, but only seems to work in Opera
12:52
<Lachy_>
http://tinyurl.com/3x7b25
12:52
<MichaelMH>
5 72?
12:52
<Lachy_>
5 > 2
12:52
<MichaelMH>
5 > 2? no way
12:53
<annevk>
5 > 2 (?)
12:53
<met_>
(?) 5 > 5
12:53
<MichaelMH>
i've seen that on a t-shirt
12:53
<Lachy_>
there's a tshirt for it too
12:53
<MichaelMH>
cus I was linked to it from the blog.
12:53
<MichaelMH>
I don't know what it means tho
12:53
<Lachy_>
it's an obvious mathematical statement
12:53
<met_>
anyone to produce some webbutton with 5 > 2 theme?
12:53
<met_>
something like all Valid HTML buttons
12:54
<Lachy_>
although, there are some people who like to write it as 5 < 2, they're just weird and can be ignored ;-)
12:54
<annevk>
<a rel=vote href=http://www.whatwg.org/>5 > 2</a> will be good enough
12:54
<annevk>
Lachy_, hey!
12:54
annevk
did that
12:55
<annevk>
during my HTML5 talk, even
12:55
<MichaelMH>
is it cheating if I draw my star in flash first then find out where the points are...?
12:55
<Philip`>
Yes :-)
12:55
<Philip`>
Draw it on a piece of paper, and draw a rough grid and guess the coordinates - that's almost as easy :-)
12:56
<annevk>
my house rules allow that though
12:56
<MichaelMH>
... but isnt that just doing the exact same thing as drawing it in flash
12:56
<annevk>
for when there's no paper
13:00
<MichaelMH>
uh oh
13:00
<MichaelMH>
thats not a star
13:04
<MichaelMH>
yeeaaah: http://www.michaelmh.com/stuff/newbie/canvas.html the points are a bit iffy because I cheated
13:05
<Philip`>
It's not a very nice colour, though :-(
13:06
<Lachy>
MichaelMH, there are algorithms for drawing stars without having to enter the points manually
13:07
<MichaelMH>
um...
13:08
<MichaelMH>
I enter the points manually, its just my style.
13:09
<Philip`>
If your aim is not specifically to draw lots of stars, then just writing the coordinates seems quite reasonable
13:10
<Lachy>
yeah, entering points is fine just for experementation with canvas
13:10
<Philip`>
(and then it avoids the unhelpful complexity of star-drawing algorithms)
13:11
<MichaelMH>
did one of you change my site to lite pink?
13:12
<Lachy>
MichaelMH, what?
13:12
<Philip`>
Not me
13:13
<Philip`>
It's a nice shade, though
13:13
<MichaelMH>
lol never mind. it was last nite
13:14
<Lachy>
your homepage is broken. http://www.michaelmh.com/ It doesn't work with styles disabled
13:14
<MichaelMH>
my homepage is oooolldd.
13:14
<MichaelMH>
I don't do anything to that anymore.
13:14
<Lachy>
yeah, it looks like you didn't realise you could style anything but divs
13:15
<MichaelMH>
ahem.
13:16
<MichaelMH>
I think when i made that I wanted a way for the roll over images to load before you rolled over them... because then theres a short moment when its just blank
13:16
<MichaelMH>
im making my star my homepage.. you've upset me
13:17
<Lachy>
there are ways to combine both images into one, and then switch it by changing background poisition
13:18
<MichaelMH>
cunning
13:18
<MichaelMH>
have the main image on top of the roll over one and then when you rolled over the top image it would go transparent
13:19
<MichaelMH>
hmm.. there was a start to that sentence but it disapeared..
13:19
<MichaelMH>
stick "my idea was to" infront of that sentence and it should make sense-ish.
13:44
<MichaelMH>
my next picture is gonna be insane* (*may actually be quite reasonable)
13:47
Philip`
wonders if there's adequate documentation for <canvas>, or if more tutorials/references/examples/etc would be worthwhile
13:48
<met_>
there on mozilla.org you know probably
13:49
<MichaelMH>
yeah Im reading the one on mozilla
13:50
<met_>
met_ this was for Philip` 8-)
13:51
<Philip`>
I just don't know whether that stuff is useful for people who are new to it, and I have the wrong perspective now to read it and see for myself :-)
13:52
<MichaelMH>
I'm following it ok
13:52
<MichaelMH>
Although I wish it would tell you how to change the fill colour sooner..
13:53
<MichaelMH>
anyone care to tell me that btw?
13:53
<Philip`>
ctx.fillStyle = 'magenta'
13:53
<met_>
when i learned canvas, the http://developer.mozilla.org/en/docs/Canvas_tutorial was good as hello world
13:53
<met_>
but there is missing the next step
13:53
<met_>
the step between hello world canvas and Doom in canvas i mean 8-)
13:54
<Philip`>
(or any other colour name (like 'rgba(128, 128, 128, 0.5)' or '#ff0000' etc), theoretically using the CSS3 Color syntax though that's not supported by every browser)
13:56
<Philip`>
met_: Perhaps something like a simple 2D platform game? That might cover lots of the interesting issues (like animation, handling input, managing multiple images, loading map data, etc) without being overwhelming
13:56
<MichaelMH>
...snap
13:56
<MichaelMH>
go for it phill
13:56
<met_>
Philip`, good idea
13:57
Philip`
has no time to work on anything now, though :-p
13:57
<met_>
Philip`, some tic-tac-toe, pacman or something like this
13:58
jdandrea
suggests Tetravex (if only he had cycles to write it himself - but then the code must exist somewhere ...)
13:58
<met_>
met_, or even simple "escape from 2d maze"
13:58
<met_>
just somethinf intercative, not only painting circles and rectangles
13:58
<jdandrea>
Ah! There is a JavaScript version - see external links - http://en.wikipedia.org/wiki/TetraVex
13:58
<Philip`>
(The situation will be much worse for newcomers with the 3D canvas, I would expect - hopefully someone will make a nice library to hide the details so nobody else needs to care)
13:59
<jdandrea>
met_: Got it. Was thinking this could be spiffed up a bit though. Hmm. A Rubik's Cube?
13:59
<met_>
jdandrea, there are many, e.g. http://www.schillmania.com/arkanoid/arkanoid.html
14:00
<jdandrea>
Aye.
14:00
<jdandrea>
Trying to brainstorm s'more here ...
14:01
<met_>
better start with somethin 2d than 3d rubiccube
14:02
<met_>
3d is for advanded 8-)
14:02
<met_>
*advanced
14:02
<jdandrea>
Point taken.
14:02
<Philip`>
3D is really nasty in the 2D canvas, so it's probably best to avoid ever doing that :-)
14:02
<jdandrea>
hehe
14:03
<jdandrea>
I've seen the cube splayed (sic?) though, so you don't have to see it rotate. Anyway, it's a thought. :)
14:03
<met_>
any simple game that is on world smallest website is suitable http://www.guimp.com/pong.html
14:04
<jdandrea>
ROTFL - nice.
14:04
<met_>
there are about ten
14:04
<virtuelv>
there is also http://virtuelvis.com/download/2005/10/mandelbrot/
14:05
<virtuelv>
(Haven't tested if it works properly in ages though. First thing I ever did in canvas)
14:05
<met_>
virtuelv, nice
14:06
met_
do not inderstand fractals anyway but they are nice
14:06
<virtuelv>
some more stuff here: http://virtuelvis.com/gallery/canvas/searchlight.html
14:06
<virtuelv>
err, http://virtuelvis.com/archives/2005/12/canvas-image-manipulation I meant
14:07
<met_>
let's put all there links on http://wiki.whatwg.org/wiki/Main_Page
14:07
<met_>
create some canvas page
14:10
<MichaelMH>
umm
14:10
<MichaelMH>
when I do moveTo then make a circle I just get a circle with a line going to the moveTo point
14:11
zcorpan
finds a blog entry entitled "The and Element" from Lachy in opera's feed reader
14:12
zcorpan
wonders whether it's the feed or opera that is broken
14:12
<Lachy>
zcorpan, it could be the feed, but I suspect it's Opera. Firefox displays it properly
14:12
<Lachy>
though, it's RSS 2.0, so who knows?
14:12
<met_>
google reader has it broken too
14:13
<Lachy>
I really must upgrade Word Press one day. Does the latest one output Atom 1.0?
14:13
<met_>
and it results in the 'The * and Elements' on my google reader shared page http://www.google.com/reader/shared/13885598797767922370
14:14
<Philip`>
MichaelMH: Are you trying to move the centre of the circle? You would have to either change the coordinates or call translate() to do that
14:15
<zcorpan>
Lachy: your blog entry doesn't discuss what to do with <em> and <strong> though
14:16
<zcorpan>
Lachy: i.e., should they be synonyms with <i> and <b> or be more specific semantics as currently defined?
14:16
<Lachy>
it was only about The <b> and <i> elements
14:16
<zcorpan>
yeah. ok
14:16
<Lachy>
I made the assumption that they would keep their current definitions of emphasis and importance for now
14:17
<MichaelMH>
oh is the x and y position in the circle thingy
14:17
<MichaelMH>
ok I got it now
14:19
<zcorpan>
Lachy: ah, the "The and Elements" was via google blog search
14:19
<zcorpan>
Lachy: your original feed entry shows up as "The <b> and <i> Elements" in opera
14:21
<Lachy>
I could take out the < and >, which would work around the problem, but then those services probably won't update the feed anyway
14:22
<zcorpan>
Lachy: don't, revealing bugs is a good thing :)
14:22
<Lachy>
yeah, I know
14:22
<Lachy>
but there are so many bugs with RSS implementations that haven't been fixed
14:23
<Lachy>
I bet it was caused by a complete lack of test cases too
14:52
<MichaelMH>
http://www.michaelmh.com/stuff/newbie/man.html
14:53
<annevk>
it's not like there's an RSS spec
14:53
<annevk>
that's actually good
14:53
<annevk>
so far RSS is much like HTML4
14:53
<annevk>
"eating resources"
14:54
<MichaelMH>
uh oh I forgot eyebrows
14:57
<MichaelMH>
I was going to have semicircle ear lopes but it messed up
14:59
<Lachy>
annevk, is the Atom spec much better quality?
15:05
<MichaelMH>
oohh.. does 5 > 2 mean HTML5 > XHTML2?
15:05
<MichaelMH>
sorry I was a bit slow there
15:05
<Lachy>
yes
15:07
<MichaelMH>
I don't think the general public will understand if I wore a t-shirt that said "5 > 2"
15:07
<met_>
interesting question from one Czech webdesigner, but I do not know the answer, if html5 specify how browsers shodl handle tag soup, errors etc, where is the limit?
15:08
<Lachy>
the limit of what?
15:08
<met_>
where is the limit of what if HTML (and should be parsed as html) and what not
15:08
<met_>
<p><i>is HTML</p> (wrong but is)
15:08
<met_>
andwhat 3434iu3i4ur890ewe#$#$#$<4340390we>r9er0e9r0
15:08
<Lachy>
the spec needs to define everything that is required for browsers to handle any given input stream
15:08
<met_>
is there any defined limit, some border? 8-)
15:08
<Lachy>
no
15:09
<Lachy>
the algorithm should handle all possible input streams
15:09
<met_>
sounds brave
15:09
<Lachy>
handling all possible input isn't the problem, it's defining what to do with it that's tedious
15:10
<annevk>
Lachy, not really
15:10
<Lachy>
see http://www.w3.org/mid/463C6E54.1040300⊙cau
15:11
<annevk>
it doesn't actually define nesting depths though and such
15:11
<annevk>
which sensible implementations likely have
15:11
<annevk>
(html5lib is not one of those)
15:12
<Lachy>
really? Firefox, I think, handles quite a large nesting depth. I don't know what its upper limit is
15:12
<annevk>
I'm not sure what your "really?" question is about
15:12
<Lachy>
do they really have limits
15:13
<Lachy>
I suppose, memory constraints would be the issue
15:13
<annevk>
you don't want a browser to hang
15:14
<annevk>
that would make it impopular
15:14
<Lachy>
Hixie has a test somewhere that tests excessive nesting of elements
15:14
<annevk>
does it test whether they're nested or just whether the browser doesn't hang?
15:14
<Lachy>
http://www.hixie.ch/tests/evil/html/parsing/compat/001.html
15:15
<annevk>
k
15:18
<Lachy>
Safari crashes :-(
15:19
<MichaelMH>
woah canvas lines look smoother in safari
15:24
<annevk>
http://www.cs.tut.fi/~jkorpela/quirks-mode.html
15:24
<annevk>
I don't everything mentioned there applies to all browsers though
15:24
<annevk>
such as box model and dimensions for inline elements
15:25
<Lachy>
it says right at the top "not all browsers exhibit all of these features:"
15:26
<annevk>
it sometimes calls out the differences though
15:28
<zcorpan>
annevk: wow, that's useful
15:31
<MichaelMH>
yo. shouldnt this make a semi-circle? ctx.arc(90,65,20,0,180,false);
15:35
<Philip`>
MichaelMH: The angles are measured in radians (2*Math.PI per circle) rather than degrees (360 per circle), so you'd have to do arc(x, y, r, 0, Math.PI, false)
15:38
<MichaelMH>
ic..I'm not very good at math =\
15:39
<MichaelMH>
the bezier and quadratic curves are pretty damn awesome tho
15:40
<Philip`>
(You can do "function deg2rad(deg) { return deg*Math.PI/180 }" or something if you have to convert angles)
15:40
<MichaelMH>
I might redo my man with them
15:40
<Philip`>
I've never actually looked at either of them, so I have no idea what they're like
15:41
<MichaelMH>
looked at what?
15:41
<virtuelv>
god, some things are so broken
15:41
<Philip`>
Bezier/quadratic curves
15:41
<virtuelv>
s/god/FSM/
15:41
<virtuelv>
How to create input type="radio" by script in IE:
15:41
<virtuelv>
newRadioButton = document.createElement("<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='Second Choice'>")
15:42
<MichaelMH>
its like lineTo with added wobble
15:44
<Philip`>
I guess the spec ought to define precisely what it means by "quadratic curve", since it's not an obvious term (or at least not one I've heard) - but I'm still trying to work through all the earlier sections so I'll happily ignore it for now
15:46
<MichaelMH>
http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes#Bezier_and_quadratic_curves
15:48
<MichaelMH>
is there a way to group a bunch of coordinates and move them all at once across x and y
15:49
<Philip`>
ctx.save(); ctx.translate(dx, dy); /* draw lots of stuff */; ctx.restore();
15:49
<Philip`>
though I think Firefox applies the translation when you create points, whereas Opera applies the translation when you do the fill/stroke
15:50
<Philip`>
(and Safari might match Firefox's behaviour, and the spec currently matches Opera's, but it's quite possible the spec will change)
15:50
<Philip`>
(if I remember correctly)
15:52
<annevk>
are you sure Safari matches Firefox?
15:52
annevk
thought it matched Opera
15:53
<Philip`>
Not at all sure - I've never tested it, and I just vaguely remember people mentioning something but I don't know exactly what
16:04
<MichaelMH>
hmm..
16:10
<MichaelMH>
i think the curve thing would be easier if cp1x, cp1y, cp2x, cp2y was relative to x and y
16:13
<Philip`>
You could perhaps write "var x = whatever, y = whatever; ctx.bezierCurveTo(cp1x+x, cp1y+y, cp2x+x, cp2y+y, x, y)"
16:14
<MichaelMH>
hmm
16:15
<MichaelMH>
i'll try that after I've finished my "M"
16:22
<MichaelMH>
yeeeeeeeaah: http://www.michaelmh.com/stuff/newbie/M.html
16:24
Philip`
wonders if it'd be possible to do a whole TTF font this way
16:25
<MichaelMH>
TTF font?
16:26
<MichaelMH>
yo, you know how Im making a fill then sticking a stroke onto of it
16:26
<MichaelMH>
is there anyway to make the fill have a border
16:27
<Philip`>
That's just the usual format for defining fonts built out of lines and Bezier curves
16:28
<Philip`>
You can just call "ctx.fill(); ctx.stroke()" - the fill shouldn't affect the current path
16:29
<MichaelMH>
oh yeah silly me, I should of tryed that
16:34
<MichaelMH>
howcome you can draw a rectangle but not a cricle, triangle.. teapot and otehr stuff
16:36
<Philip`>
Probably because rectangles are a very common case, so it's worth having a function for them (instead of requiring moveTo/lineTo combinations), whereas shapes like triangles are much rarer and you can just make them out of lines
16:36
<Philip`>
The lack of circle seems kind of irritating to me, since arc(..., 0, 2*Math.PI, false) isn't very elegant, though at least you can define your own circle function if you want
16:37
<Philip`>
I think teapots lack significant reason to be included :-)
16:37
<MichaelMH>
I think wanting to draw a "M" would also be common
16:38
<Philip`>
Text would be good, but the spec says "drawing text is not supported in this version of the API (there is no way to predict what metrics the fonts will have, which makes fonts very hard to use for painting)"
16:39
<MichaelMH>
ic
16:39
<Philip`>
(I think some people have liked the idea of being able to draw an arbitrary HTML element into the canvas, in which case you could do text by just creating it in HTML/CSS then copying it)
16:41
zcorpan
points to http://forums.whatwg.org/viewtopic.php?t=31
16:43
<Philip`>
Oh, that might be the thing I remembered talking about the "Firefox-ish / Safari-ish" way of doing transformations, as opposed to the Opera-ish / spec-ish way
16:56
<jgraham>
Would anyone like to try and break http://wordsandpictures.dyndns.org/html5/parsetree.html?
16:57
<MichaelMH>
omg, excitement. I'm on the gradient section.
16:58
jgraham
instantly finds a trivial bug
16:58
<zcorpan>
jgraham: simple! http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Carticle%3E ;)
16:58
<jgraham>
zcorpan: Take that up with Hixie ;)
16:58
<zcorpan>
yeah yeah :)
16:59
<jgraham>
Although the traceback shouldn't be displayed
16:59
<jgraham>
I think I will just disable the NotImplementedError in html5lib
17:00
<Lachy>
jgraham, couldn't you implement that as some sort of non-fatal warning instead
17:00
<met_>
looks nice
17:01
<annevk>
jgraham, yeah, just change the inbody methoddispatcher thingie
17:01
<jgraham>
Lachy: I was thinking of writing a warning to sys.stderr
17:01
<annevk>
Lachy, no, too much hassle for little value
17:01
<annevk>
(imo)
17:02
<zcorpan>
you could treat them as "anything else", but that's not what the current spec says...
17:02
<annevk>
the current spec says "red blob" iirc
17:02
<zcorpan>
yeah
17:02
<annevk>
which makes the "anything else" cause plausible
17:03
<Lachy>
yeah, anything else makes sense until their handling is actually defined
17:03
<met_>
jgraham, on top of the result page can be page-navigation? like #input-document, #parse-tree, #output-innerHTML, #parse-errors
17:03
<met_>
for long document it is too scrolling
17:03
<Lachy>
though, you could implement things like <section> just like div, and then provide implementation feedback
17:04
<met_>
jgraham, see the id are already there
17:05
<annevk>
Lachy, I suppose we could experiment yes, if we want to do that kind of thing
17:05
<annevk>
in that case we should also implement <!-->, </br> and </p> I think
17:05
<zcorpan>
<p><table>?
17:05
<Lachy>
zcorpan, no
17:06
<Lachy>
that would have to be quirks only, I think
17:06
<met_>
and from parse errors list hyperlings to the lines in input document with errors should be great 8-)
17:06
<annevk>
we're not going to have a quirks only parser
17:06
<annevk>
hopefully
17:06
<annevk>
so if <p><table> is needed so be it
17:06
<zcorpan>
Lachy: if it's required for quirks, why not just require it?
17:06
<Lachy>
the problem is that making table a child of p, instead of a sibling, could potentially break many standards pages
17:06
annevk
doesn't think it's required for quirks though
17:07
<zcorpan>
Lachy: it would only break acid2... :) other standards pages don't omit </p> except for mine and annevk's
17:07
<annevk>
maybe it is
17:08
<annevk>
opera does
17:08
<annevk>
data:text/html,<!doctype html><style>p>table{background:lime}</style><p><table><tr><td>test
17:08
<annevk>
and
17:08
<annevk>
data:text/html,<style>p>table{background:lime}</style><p><table><tr><td>test
17:08
<annevk>
different
17:09
<zcorpan>
annevk: perhaps you could try to remove it from quirks in opera and see if anyone complains? :)
17:09
<zcorpan>
or vice versa
17:10
<annevk>
hah
17:10
<annevk>
you try :p
17:10
<zcorpan>
:)
17:10
<Lachy>
zcorpan, you'd be surprised, actually. There are a lot of pages that do <p> <table>...</table> </p>, even if they use standards mode
17:10
<Lachy>
That's actually a common question on www-validator about why the </p> is in error
17:11
<zcorpan>
Lachy: right. isn't that an argument to make <p><table> parsing as it is in quirks?
17:11
<MichaelMH>
well a much urgent issue. I tryed to apply a gradient to my M and it disapeared
17:11
<MichaelMH>
much more*
17:11
<Lachy>
no, because it could potentially change the rendering of standards mode pages if <table> because a child of <p>
17:12
<zcorpan>
Lachy: you just said people use <p><table/></p> in standards mode
17:13
<zcorpan>
i haven't seen any page that uses <p><table> but meant <p></p><table> other than acid2 and my mobile-results page and somewhere in anne's blog
17:13
<zcorpan>
yet i have also seen people ask on forums why they can't nest their tables in their paragraphs
17:13
<annevk>
zcorpan, they use it, don't realize it doesn't work, and rely on the resulting rendering
17:13
<zcorpan>
annevk: ah
17:13
<annevk>
but I'm not sure if there would be much rendering differences between <p><table></table></p> and <p></p><table></table> though
17:14
<annevk>
especially if we introduce the </p> quirk in standards mode...
17:14
<jgraham>
Nav links added
17:14
annevk
wonders if they are dependent on each other
17:14
<Lachy>
zcorpan, I said they write that in their markup, but although they think <table> is a child of <p>, it's not and changing that could result in unexpected behaviour
17:14
<zcorpan>
ok
17:15
<Lachy>
we would, of course, need to to some sort of study to find out if anything really could break
17:15
<zcorpan>
like what?
17:15
<zcorpan>
i can only imagine there would be no bottom margine below the table
17:15
<zcorpan>
but then ie6 doesn't even have bottom margin of Ps
17:16
<Lachy>
say they had: p, table { margin-left: 2em; }, once the table was a child of the p, that would increase the margin to 4 em.
17:16
<zcorpan>
yup
17:16
<Lachy>
or, if they had p { border: 1px solid green; }, then border would then extend to surround the table
17:17
<zcorpan>
yeah, but i haven't seen such a case
17:17
<zcorpan>
not that i have made a study of lots of pages though
17:19
<annevk>
have fun: http://www.google.com/codesearch?q=%3Cp%3E%3Ctable%3E
17:20
<annevk>
over 26,000 code page thingies use it
17:21
<zcorpan>
searching for "<p><table" probably gives a better result
17:21
<annevk>
39,000
17:22
<zcorpan>
given the fact that every browser does it in quirks mode and some did it in standards mode as well before acid2, indicates to me that it's required
17:23
<zcorpan>
and that pages in standards mode doesn't rely on it
17:27
<zcorpan>
jgraham: shouldn't the parse errors list say anything more than the position of the error?
17:28
<jgraham>
zcorpan: Yes. That's a known issue which I havne't bothered to fix because of the much larger known issue that most of the error strings in html5lib are crap
17:29
<zcorpan>
ok
17:34
annevk
wonders why Roger Johansson doesn't like pave the cowpaths
17:46
<jdandrea>
zcorpan: I'm presently on WA 1.0 4.4.3.10 (moving along with the author view CSS). For paragraphs with a mix of author and UA-only-relevant info, I'm leaving it visible. Make sense? (Example: 4.4.3.9 - paragraphs 2 and 3.)
17:48
<zcorpan>
jdandrea: yup
17:48
<jdandrea>
zcorpan: thx
17:55
<jgraham>
zcorpan: Error messages now work (stupid typo)
17:57
<zcorpan>
jgraham: nice. and <article> works
17:57
<zcorpan>
http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3C%21doctypehtml%3E%3Cp%3E%3Carticle%3E%3Cp%3E%3C%2Farticle%3E
17:57
<zcorpan>
hm
17:59
<zcorpan>
<article></article> triggers the error
18:03
<zcorpan>
jgraham: shouldn't the "|"s be at the start of the line in the parse tree?
18:04
<zcorpan>
or hm, it's not in that format anyway
18:06
<zcorpan>
i.e. this format http://wiki.whatwg.org/wiki/Parser_tests#Tree_Construction_Tests
18:06
<jgraham>
zcorpan: The </article> thing should be fixed (I forgot new close tags also raised an error)
18:07
<jgraham>
No, the output isn't in the test format. I guess that might have been more useful. I remember having a reason, I forget what it was :)
18:08
<zcorpan>
being more like http://software.hixie.ch/utilities/js/live-dom-viewer/ ?
18:09
<jgraham>
Probably
18:10
<jgraham>
Although it doesn't match that either
18:10
<annevk>
we should have a script that does make it match that
18:10
<annevk>
i'd like to have a script that tells what my browser does versus html5 without having to read some spec
18:11
<zcorpan>
either that or have the test result format... (the latter can be easily pasted to text/plain email)
18:11
<annevk>
yeah fair enough
18:11
<annevk>
might be easier to modify hixie's thingie to output <pre> like stuff
18:13
<jgraham>
Is the text/plain thing just about syntax highlighting? Syntax highlighting is good...
18:14
<annevk>
pasting into e-mail seems to be the use case
18:14
<zcorpan>
yeah
18:14
<zcorpan>
you can make < and > be the same color as the background color ;)
18:14
<zcorpan>
if you want nice syntax highlighting
18:15
<annevk>
That's not really a requirement I have though. I just want to point a browser to a page. Paste in some text in a <textarea> and have the site create two DOM "trees". One from the browser I use and one using html5lib.
18:18
<annevk>
has anyone checked what <p><table implies?
18:18
<annevk>
for <p><table></p> for instance
18:19
<annevk>
or <p><table><tr><td><p>test</p>
18:19
<annevk>
or <p><table><tr><td><p> even
18:19
<annevk>
I suppose you would process the <p> inside the <table> in a table specific way?
18:25
<annevk>
IE seems to do the special handing within <table>
18:26
<annevk>
This means that <p><table></table></p></p>x will give you <p><table></table></p><p></p>x as DOM for instance
18:32
<Philip`>
jgraham: http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Cspacer+type%22block%22+width%3D%221%22+height%3D%221%22%3E%3C%2Fspacer%3E
18:33
<Philip`>
...gives non-well-formed output, which is a bit irritating since I was trying to use an XML parser on it
18:33
<annevk>
that seems correct though
18:33
<Philip`>
(at least from html5lib's simpletree's toxml() function, and that innerHTML view shows the same problem)
18:34
<annevk>
(note that the HTML and XML 1.0 infosets aren't compatible so doing that without extra checking is not going to be sufficient)
18:34
<annevk>
(html5lib toxml() is primitive
18:34
<annevk>
)
18:34
<jgraham>
Non-well-formed as in "illegal XML attribute name"? Yeah, I don't think we can do much about that
18:34
<annevk>
(I'm not sure it's a problem for innerHTML)
18:34
<Philip`>
(That code is from http://www.toyota.com/)
18:34
<annevk>
they use <spacer>?
18:34
<annevk>
awesome
18:35
<Philip`>
annevk: At least it got through five web pages before being too primitive to cope, which isn't bad given the state of most web pages :-)
18:35
<zcorpan>
annevk: <table> is already scoped... so anything after <table> is treated the same as if there was nothing before <table> aiui
18:35
<annevk>
lots of stuff inside <table> is handled using the inBody phase
18:35
jgraham
wonders if we should remove all the xml stuff or if Sam or someone is going to patch it to work correctly
18:35
<annevk>
which may cause conflicts if a <p> is actually in scope
18:36
<zcorpan>
hm
18:36
<annevk>
indeed
18:37
<zcorpan>
wouldn't it be the same as e.g. <div><table></div> ?
18:39
<Philip`>
Urgh, I get broken XML out of toxml() for 250 out of 1000 pages :-(
18:41
<annevk>
zcorpan, <div> does not imply </div>
18:41
Philip`
will probably try writing a more robust serialiser
18:41
<annevk>
when a <div> is in scope
18:41
<annevk>
Philip`, that's awesome data
18:41
<annevk>
please store it in some way
18:41
<zcorpan>
annevk: i wrote </div>
18:42
<Philip`>
annevk: Which data in particular?
18:43
<zcorpan>
annevk: http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Cdiv%3E%3Ctable%3E1%3C%2Fdiv%3E2%3Ctr%3E3%3C%2Fdiv%3E4%3Ctd%3E5%3C%2Fdiv%3E6
18:44
<annevk>
Philip`, that HTML serialized to a DOM tree on lots of pages won't give you an XML serialization back
18:44
<annevk>
Philip`, even with scripting disabled
18:44
<annevk>
zcorpan, <div> is fundamentally different from <p> in parsing
18:44
<annevk>
zcorpan, I'm not sure how you can compare them
18:47
<Philip`>
annevk: Ah, okay - I've got all the raw data so I can reproduce the results easily
18:50
<zcorpan>
annevk: i don't see any difference that would be relevant to <p><table></p> vs <div><table></div> if <table> was changed to not imply </p>
18:51
<annevk>
the moment you hit <p> it checks whether <p> is in scope and tries to close it by popping elements from the stack
18:52
<annevk>
I'm quite positive it's problematic
18:53
<annevk>
Then again, I'm basing this on my knowledge of that part of the specification from back in January
18:53
<jdandrea>
Lachy: I'm helping out zcorpan with the author view (CSS) of WA 1.0. Just noticed 4.6.4 uses the same id as 4.6.3 (read-text). [Advising you per http://blog.whatwg.org/faq/]
18:53
<annevk>
When I looked into changing the parsing of </p>
18:54
<zcorpan>
annevk: </div> also pops elements from the stack until div has been popped
18:54
<annevk>
this is about <p>
18:54
<annevk>
not </p>
18:54
<annevk>
aah
18:54
<annevk>
<p> implies </p> when <p> is in scope
18:55
<zcorpan>
yes
18:55
<annevk>
given <p><table><tr><td><p> <p> is indeed in scope
18:55
<annevk>
and would pop <td>, <tr> and <table> from the stack
18:55
<zcorpan>
sure?
18:55
<annevk>
(given that <table> does not imply that <p> would be popped of from the stack)
18:55
<annevk>
see above for that part
18:56
<annevk>
I would like a citation of the spec that says otherwise
18:56
<jdandrea>
lachy: whoops, and also 4.6.5
18:56
annevk
goes to look for himself
18:56
<annevk>
this is not going anywhere :)
18:58
<annevk>
you would hit some loop in generating implied end tags maybe...
18:58
<annevk>
no, you wouldn't
18:59
<annevk>
yes it would happen exactly as I described
18:59
<annevk>
please read the spec
18:59
<zcorpan>
i am reading the spec :|
18:59
<zcorpan>
i haven't implemented it though so i might be reading it wrong
18:59
<annevk>
reading in the Hixie sense?
19:00
<annevk>
lets go through it
19:00
<annevk>
ok?
19:00
<zcorpan>
sure
19:00
<zcorpan>
given <p><table><p>
19:00
<annevk>
given <p><table><tr><td><p> would be nicer
19:00
<zcorpan>
ok
19:00
<Lachy>
jdandrea, you should let Hixie know about problems like that with the spec. Let me know about problems with the FAQ
19:00
<annevk>
we assume that <table> doesn't imply <p> for the moment
19:00
<zcorpan>
ok
19:00
<annevk>
at some point we hit <p>
19:01
<annevk>
the insertion mode is "in cell" at that point
19:01
<annevk>
which says: 'Process the token as if the insertion mode was "in body".'
19:01
<zcorpan>
yup
19:01
<jdandrea>
Lachy: I was about to do that, but for some reason misinterpreted the FAQ page. np
19:02
<annevk>
the "in body" phase says this about <p>: 'If the stack of open elements has a p element in scope, then act as if an end tag with the tag name p had been seen.'
19:02
<annevk>
whoa, you're right
19:02
<annevk>
hah
19:02
annevk
didn't check "in scope"
19:02
<zcorpan>
phew! :)
19:03
<MichaelMH>
ok.. new and improved curvey M http://www.michaelmh.com/stuff/newbie/M.html
19:04
<zcorpan>
annevk: also, at </div> the spec says the same thing basically as for </p>... (pop elements until a div has been popped)
19:05
<annevk>
my point was about <p> implying </p> and <div> not implying </div>
19:05
<annevk>
which you seem to have missed somehow
19:06
<zcorpan>
i didn't miss it, it's just that when you imply </p> you process that token as if it was there, right?
19:06
<zcorpan>
<p> says you imply </p>
19:06
<zcorpan>
</p> says you pop elements
19:06
<zcorpan>
</div> also says you pop elements
19:06
<zcorpan>
and that was my point
19:08
<annevk>
given that step 3 of in scope was not there <div><table><div> would be different from <p><table><p>
19:08
<zcorpan>
yes
19:09
<bewest>
what is supposed to happen when writing to innerHTML for a node that isn't properly part of the DOM yet?
19:09
<annevk>
how would that matter?
19:09
<zcorpan>
bewest: isn't inserted into the document, you mean?
19:09
<bewest>
IE throws an error (even if parentNode != null)
19:09
<annevk>
oh, maybe it does
19:09
<bewest>
yeah
19:10
<bewest>
if you have something like
19:10
<zcorpan>
bewest: iirc per spec it shouldn't matter
19:10
<annevk>
yeah, seems like it
19:10
<bewest>
<div> <script> // find last script tag, replace with div using DOM, then write to innerHTML of that div</script> </div>
19:10
<annevk>
so you can have document.innerHTML = stuff
19:10
<bewest>
this will fail in IE
19:11
<zcorpan>
but works in other browsers?
19:11
<MichaelMH>
can someone explain to me how to use shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor I cant find it in the mozilla tutorial
19:11
<bewest>
Firefox works
19:11
<bewest>
yeah
19:12
<annevk>
MichaelMH, they are unsupported
19:12
<zcorpan>
then it's probably just a bug in ie...
19:12
annevk
isn't aware of any browser support
19:12
<bewest>
(this is actually a problem with some code I'm workign on right now... writing to innerHTML is done in a callback and there is a race condition that causes IE to fail [if the document hasn't finished loading before the callback fires])
19:12
<MichaelMH>
aww.
19:13
<annevk>
does anybody know if Safari does reparsing for comments in quirks?
19:13
<Philip`>
(Wow, <spacer> is quite popular - I see it on about 1% of these pages)
19:13
<bewest>
zcorpan: so that sounds like a bug according to the spec?
19:13
<bewest>
would it be useful to have an example of this on the web?
19:14
annevk
doesn't like <script><!-- document.write('</script>'); --></script>
19:14
<zcorpan>
bewest: sounds like a bug, yeah
19:15
<zcorpan>
annevk: i have some tests on that
19:15
<bewest>
http://dichotomize.com/czmap/innerhtmlbug.html
19:16
<bewest>
I try to avoid document.write if possible
19:16
<bewest>
maybe I shouldn't
19:16
<annevk>
oh, reparsing of <% and %> is nasty too
19:17
<annevk>
(<%<p>%> remove last %)
19:18
<bewest>
it's a DOM-tease
19:18
<annevk>
it's likely fast
19:18
<annevk>
Firefox, Opera and html5lib seem to parse the above per HTML5 btw
19:18
<annevk>
the <% syntax
19:28
<MichaelMH>
man whats with these radians. degrees is so much easier for me
19:29
<Philip`>
You could do everything in degrees and then convert for the function call by doing deg*Math.PI/180
19:29
<Philip`>
and then it wouldn't be necessary to worry about radians any more
19:29
<annevk>
yeah just make a deg2rad function
19:30
<Philip`>
(It seems like only computers and mathematicians like radians)
19:32
<MichaelMH>
ah thank you
19:33
<jgraham>
<physicist>I like radians
19:33
jgraham
wonders if everyone else becomes a physicist because he left the tag open
19:33
<MichaelMH>
gcse maths didn't include radians
19:34
<Philip`>
Oh, physicists and computer scientists are just special cases of mathematicians, since that makes my generalisation work better :-)
19:34
<jgraham>
MichaelMH: No, you don't really need them until you do calculus
19:34
<MichaelMH>
yo, I'm a bit annoyed that you cant change the point of origin with rotate
19:35
<Philip`>
You can do translate/rotate/translate to get the same effect
19:35
<MichaelMH>
oh well, I'm not doing A level.
19:36
<Philip`>
(I suppose a canvas library with functions like rotateAround(x, y, a) might be handy in cases like this)
19:36
jgraham
really enjoyed A-level maths
19:36
<jgraham>
But I realised I wasn't particularly good at it when I got to University
19:37
<MichaelMH>
Maths is soo booring...
19:37
<MichaelMH>
infact all of school is boring
19:37
<Philip`>
((I think my head exploded some time ago while trying to work out the right transformations to get perspective-correct tiled floors in Canvex - it's not incredibly fun when you don't even have the transform() function))
19:38
<MichaelMH>
I don't understand why rotate can't be rotate(angle, x, y)
19:38
<MichaelMH>
is that too much to ask for?
19:40
<MichaelMH>
because I was gonna have my M at a slight angle. So I thought I could rotate around the point 50,50. but when I use translate before my M goes off the canvas and im not sure what to do
19:42
<Philip`>
It might be something vaguely like function rotateAround(ctx, angle, x, y) { ctx.translate(-x, -y); ctx.rotate(angle); ctx.translate(x*Math.cos(angle)+y*Math.sin(angle), x*Math.sin(angle)-y*Math.cos(angle)); } except that's totally untested and probably needs some +/- changes in the last translate, unless I've got it even more wrong than that
19:43
<Philip`>
Actually, that's definitely wrong - it'd be less obviously wrong with translate(..., -x*sin + y*cos) instead
19:43
<Philip`>
(I think)
19:43
<annevk>
MichaelMH, whatwg⊙wo accepts proposals ;)
19:43
<MichaelMH>
so i could ask for a origin bit in the rotate tag?
19:45
<zcorpan>
MichaelMH: if you have a use-case to back up your proposal it will certainly be taken into consideration
19:45
<zcorpan>
or well, all use-cases are considered, it's just that those that are backed up with use-cases are more likely to be accepted
19:46
<zcorpan>
er
19:46
<zcorpan>
all proposals
19:46
<MichaelMH>
ic
19:46
<MichaelMH>
so whats a use-case?
19:46
<zcorpan>
why you want the feature
19:46
<zcorpan>
"because I was gonna have my M at a slight angle."
19:49
<MichaelMH>
Do you think that will be convincing enough
19:50
<zcorpan>
annevk: in the xht spec, isn't it unneeded (inappropriate?) to have MUSTs inside algorithms?
19:51
<zcorpan>
and other rfc2119 terms
19:51
<annevk>
yeah, maybe
19:51
<annevk>
i've been thinking about that
19:51
<annevk>
remind me tomorrow?
19:51
<zcorpan>
ok
19:52
<zcorpan>
i can send it to the list otherwise
19:52
<zcorpan>
also wanted to propose dropping the "conforming scripts" concept
19:53
<zcorpan>
and replace the only SHOULD that applied to scripts with a non-normative encouragement
19:57
<bewest>
(11:23:26) annevk: Firefox, Opera and html5lib seem to parse the above per HTML5 btw # annevk, is this in reference to http://dichotomize.com/czmap/innerhtmlbug.html ?
20:05
<MichaelMH>
yo zcorpan is this ok http://forums.whatwg.org/viewtopic.php?p=213
20:10
<zcorpan>
MichaelMH: "Um.. I'm quite sure about this question so I'm just going to ignore it." you meant "I'm not quite sure..."?
20:11
<zcorpan>
but yeah, it's ok
20:12
<zcorpan>
MikeSmith: should i forward it to the list+
20:12
<zcorpan>
?
20:12
<MichaelMH>
lol oh yeah, sorry. I'm good at typos
20:14
<bewest>
slightly improved: http://dichotomize.com/czmap/innerhtmlbug.html
20:14
<bewest>
are there conventions for tests like these that I would be wise to follow?
20:14
<zcorpan>
bewest: yes
20:15
<zcorpan>
1) keep it to an absolute minimum
20:15
<zcorpan>
2) state what the pass condition is
20:15
<bewest>
ah great
20:15
<zcorpan>
3) make the pass indicator green if possible
20:15
<bewest>
I think I satisifed that
20:15
<bewest>
maybe I can also show the error
20:15
<zcorpan>
4) make it very obvious that the test failed when it fails
20:15
<zcorpan>
5) cite the relevant spec in a <link rel=help
20:16
<zcorpan>
6) describe what you're testing specifically in the <title>
20:17
<zcorpan>
and that's about it, i think
20:17
<bewest>
hmmm
20:17
<bewest>
ok, I'm failing on number 5
20:17
<zcorpan>
also #1 i think :)
20:17
<bewest>
really?
20:17
<zcorpan>
yeah
20:17
<bewest>
what should I remove?
20:18
<zcorpan>
everything that isn't needed for the actual test
20:18
<zcorpan>
"It should say pass below:
20:18
<zcorpan>
PASS"
20:18
<zcorpan>
is a good test
20:19
<bewest>
as opposed to Results: Your browser fails/passes with fails red and passes green?
20:19
<zcorpan>
yes
20:19
<bewest>
oh
20:19
<zcorpan>
known results is also external to the test
20:19
<bewest>
so just get rid of Results and just make it PASS/FAIL?
20:19
<zcorpan>
yes
20:19
<bewest>
ok
20:19
<zcorpan>
when it fails it can be good to indicate what failed, if possible
20:20
<wilhelm>
Yes. Also state the pass condidtion. “You should see the word 'PASS' below:”, for example.
20:20
<zcorpan>
e.g. you start with <p>FAIL (script didn't run)</p>
20:20
<zcorpan>
wilhelm: that was stated already :)
20:20
<wilhelm>
Oh. Ignore me.
20:21
<Lachy>
bewest, if you're testing support for .innerHTML, you don't need to provide a try...catch block and fall back to appendChild. That could potentially result in a false positive
20:21
<zcorpan>
bewest: also don't reference external files unless needed
20:21
<bewest>
Lachy: the try/catch is to show the error
20:22
<bewest>
zcorpan: I can't do that last bit
20:22
<bewest>
zcorpan: because that's not the test
20:22
<bewest>
hrmmm maybe this is two tests
20:22
<zcorpan>
then split it up :)
20:23
<bewest>
I don't know if it's a problem split up
20:23
<Lachy>
ah, ok, I misread the script. But it should just say FAIL when it fails, you don't need to output the script error message
20:23
<bewest>
ok
20:23
<bewest>
should I let the error bubble up to the user then?
20:23
<bewest>
eg, not try/catch at all?
20:23
<zcorpan>
yeah
20:23
<Lachy>
yes, then the tester can use the browsers own diagnostic tools to see the error
20:24
<bewest>
ok
20:24
<bewest>
how's that, then?
20:24
<zcorpan>
easier to debug
20:25
<Lachy>
take out the InnerHTML... heading, Methodology section and Test heading
20:25
<bewest>
ok
20:25
<zcorpan>
bewest: this might help http://www.hixie.ch/advocacy/writing-test-cases-for-web-browsers
20:25
bewest
devours
20:26
<Lachy>
also, you should make use of the <div id="result"> for testing .innerHTML, instead of a separate element
20:27
<wilhelm>
Yeah, what Lachy said. Testers might be running through thousands of tests in one run, and they just want to know whether it passed or failed; not what each test is testing.
20:27
<Lachy>
so, the markup should look like this <div id="test" class="fail">FAIL</div>
20:27
<wilhelm>
Metadata and descriptions should be stored somewhere else than in the actual test.
20:27
<Lachy>
then have the script do this: test.innerHTML = "PASS"; test.className = "pass";
20:27
<zcorpan>
Lachy: when it fails, it's useful to know why it failed (e.g. because the script didn't run at all)
20:28
<bewest>
Lachy: I can't do that
20:28
<bewest>
Lachy: that's not the test
20:28
<Lachy>
it's part of the test, though
20:29
<Lachy>
ah, I see what you mean.
20:29
<bewest>
wait you mean like this?
20:29
<zcorpan>
you can also drop the className thing
20:29
<zcorpan>
PASS/FAIL is a good enough indicator
20:30
<bewest>
I thought you wanted it red
20:30
<zcorpan>
either red or FAIL, or both
20:30
<bewest>
so it's both currently
20:30
<zcorpan>
yes
20:31
<zcorpan>
in the interest of #1 you can drop one of them
20:31
<zcorpan>
otherwise the person debugging why it failed would waste time looking into what the className thing is doing
20:32
<bewest>
ok, I removed a function as well
20:32
<bewest>
in favor of finding the last script inline
20:32
<Lachy>
so to distinguish between the script failing, or not executing, make the markup <div id="result">FAIL (script did not execute)</div>, and then the script sets that to PASS or FAIL
20:33
<zcorpan>
Lachy: yep, that's good
20:33
<MichaelMH>
um... is there any other tutorials for animating with canvas? cus the one on mozilla is quite hard to follow for me
20:34
<Lachy>
and take out the list that describes what the test is doing, that's not necessary
20:35
Lachy
is wonderings what more appropriate text than "hello world!" would be.
20:36
<bewest>
is ok to just comment out the explanation?
20:36
<Lachy>
yeah
20:36
<bewest>
you really dont' want any text explaining what's being tested?
20:36
<bewest>
ok how's it look now?
20:36
<zcorpan>
bewest: only in the title
20:36
<Lachy>
not visible. Use comments in the source to explain what's going on if necessary
20:37
<bewest>
oh ok
20:37
<Lachy>
maybe s/hello world!/It should say PASS below/
20:37
<zcorpan>
why not PASS instead of hello world! ?
20:38
<zcorpan>
and then a paragraph above always present stating the pass condition
20:39
<zcorpan>
you can update innerHTML of the same element onload
20:39
<Lachy>
zcorpan, the the "hello word!" text is going to be visible, and is separate from the pass condition, then it wouldn't make sense for it to say PASS as well
20:39
<zcorpan>
first change it to FAIL
20:39
<zcorpan>
then onload change it to PASS if it says FAIL
20:46
<Lachy>
bewest, there's an erroneous "." following the result div
20:47
<zcorpan>
Lachy: "hello world!" isn't visible if scripting is disabled
20:47
<Lachy>
yeah, I know
20:50
<zcorpan>
bewest: ie7 passes if you remove the <p> around the script
20:51
<zcorpan>
bewest: might be because of ie's whacky dom not being a tree
20:51
<zcorpan>
not sure
20:52
<zcorpan>
if you replace the p with a div ie7 passes too
20:53
<zcorpan>
so it looks like this is in fact unrelated to innerHTML per se
20:55
<zcorpan>
hmm... naw, using appendChild instead of innerHTML makes it pass, so it has something to do with innerHTML
20:58
<Lachy>
the problem is that in IE, test == null;
20:58
<zcorpan>
seems like container.innerHTML = "hello world!" makes the function return or something
20:58
<Lachy>
so it seems the bug isn't innerHTML at all, it's gEBId I think
20:59
<MichaelMH>
how new is canvas anyways?
20:59
<zcorpan>
Lachy: try to do something after the innerHTML line in the test function
20:59
<zcorpan>
like alert("foo");
20:59
<zcorpan>
before that line, it alerts, after, nothing happens
21:00
<zcorpan>
so the assignment of innerHTML seems to be equivalent to "return;" or so
21:00
<Lachy>
I'm using the LiveDOMViewer, and it's not doing anything anywhere
21:01
<zcorpan>
oh, i'm testing in a file, and i can do anything before the assignment
21:01
<zcorpan>
but nothing after it
21:02
<Lachy>
ah, no, it was my fault. I had a typo that prevented the script from executing
21:08
<Lachy>
I tidied it up a bit, see the DOM viewer and dowload it from the clipboard http://software.hixie.ch/utilities/js/live-dom-viewer/
21:09
<Lachy>
oops, had to upload it again, there was a small mistake
21:10
<Lachy>
hmm. weird, I must have made another mistake, cause it fails in FF now
21:10
<zcorpan>
i made it simpler still, sent to bewest in PM
21:10
<zcorpan>
should i upload what i've got to LDV?
21:11
<Lachy>
ah, found my bug. Yeah, upload yours
21:11
<zcorpan>
uploaded
21:11
<zcorpan>
it won't say FAIL when it fails though... because the assignment nukes the node in ie it seems
21:12
<bewest>
zcorpan: that's the test
21:13
<zcorpan>
yeah
21:13
<zcorpan>
try changing the second <p>...</p> to <div>...</div>
21:17
<bewest>
second p?
21:17
<bewest>
the first p?
21:18
<zcorpan>
bewest: hit download at http://software.hixie.ch/utilities/js/live-dom-viewer/
21:20
<bewest>
zcorpan: you want me to use div instead of P?
21:20
<Lachy>
bewest, no, just to see what happens when you change the P to a DIV
21:20
<bewest>
whoah
21:20
<bewest>
it works...
21:20
<zcorpan>
what Lachy said
21:20
<bewest>
hrmmm
21:20
<bewest>
hrmmm
21:20
<bewest>
hrmmm
21:20
bewest
is shocked
21:20
<Lachy>
stop repeating yourself
21:21
<Lachy>
:-)
21:22
<zcorpan>
it might be that ie's dom is so whacky when you nest a DIV inside a P, that innerHTML just refuses to work for that case
21:22
<zcorpan>
and makes the function simply return
21:24
<zcorpan>
bewest: that the function returns can be seen by trying to do a simple alert("foo"); after the innerHTML assignment
21:25
<Lachy>
if you set .innerHTML = ""; then it doesn't return (though, the test still failes)
21:25
<Lachy>
s/failes/fails/
21:25
<zcorpan>
interesting
21:26
<zcorpan>
innerHTML = " \n" also works
21:26
<Lachy>
ah, so if it's not whitespace
21:26
<zcorpan>
yeah
21:26
<Lachy>
that might have something to do with IE not retaining whitespace nodes in the DOM
21:27
<zcorpan>
could be
21:27
<Lachy>
container.innerHTML = "<!-- -->"; works too
21:28
<zcorpan>
whey. </div> is equivalent to <div></div> in ie7
21:28
<Lachy>
woah!
21:28
<zcorpan>
in fact, any block-level element it seems
21:29
<zcorpan>
hmm, not quite
21:29
<Lachy>
which one doesn't?
21:29
<bewest>
my theory was that the script tag freezes DOM construction, and so even though there is a reference to a parentNode for the newly appended div, it's not part of some "proper DOM" (a DOM-tease?) and so fails to write to the innerHTML
21:29
<zcorpan>
</table> becomes a /TABLE element
21:29
<bewest>
but it sounds like it's more complicated than that
21:30
<bewest>
(btw this is afflicting some production code of mine)
21:30
<zcorpan>
bewest: it is part of the document at the time you assign innerHTML
21:30
<bewest>
hmm
21:31
<Lachy>
it's just because IE's architecture is an absolute disaster area, despite cwilso's claims that IE's architecture is good.
21:31
<zcorpan>
(or well, i think it is, and it should be, but i can't say for sure what the heck IE is doing here)
21:32
<bewest>
should I change it back to p, or leave it as div?
21:32
<zcorpan>
p
21:32
<zcorpan>
otherwise you don't reveal the bug :)
21:33
<zcorpan>
but you can have two tests
21:33
<zcorpan>
or say in a comment that it will work when you change it to a div
21:33
<Lachy>
test it with all block level elements
21:34
<zcorpan>
ok
21:34
<bewest>
erm... like, at separate URIs?
21:34
<bewest>
or make a test that automatically tests all of them?
21:35
<zcorpan>
the latter seems more appealing :)
21:35
<Lachy>
separate tests
21:35
<Lachy>
yeah, what zcorpan said
21:35
<bewest>
erm
21:36
<Lachy>
though, you have to be careful not to make it too cluttered
21:36
<bewest>
ok
21:36
<bewest>
I think that's more time than I can invest at work right now
21:36
<bewest>
will have to wait till I get home
21:36
<Lachy>
having 2 dozen tests makes it difficult to quickly scan and see if they all passed
21:36
<bewest>
well, I'll probably do a php script or something
21:36
<bewest>
make the element tested a query parameter
21:36
<zcorpan>
i can do it in JS now
21:36
<bewest>
maybe dont' even need php
21:37
<bewest>
yeah
21:37
<bewest>
the js can parse query parameters as well
21:37
Lachy
should go to bed, the sun is coming up :-)
21:37
<zcorpan>
i thought of just running all at once and then writing a log :)
21:37
<bewest>
ah
21:38
<bewest>
anyway, what's interesting is that when innerHTML fails, using appendChild will work
21:38
<bewest>
appendChild(document.createTextNode('hello world')); will work in lieu of innerHTML = "hello world";
21:44
<bewest>
zcorpan: so should I leave this "as-is" for now, or is there more feedback I should incorporate other than testing multiple elements?
21:52
<zcorpan>
http://simon.html5.org/test/html/parsing/stray-end-tags/
21:53
<zcorpan>
bewest: dunno
21:53
<zcorpan>
bewest: report the bug to MS
21:54
<MichaelMH>
nite nite everyone, Im off to bed
21:54
<zcorpan>
but that might not be possible. "The site is temporarily closed. It will re-open in the future." -- https://connect.microsoft.com/site/sitehome.aspx?SiteID=136
21:54
<zcorpan>
MikeSmith: nn
21:54
<bewest>
erm looks like it's closed
21:55
<bewest>
yeah
21:55
<bewest>
typical
21:55
<zcorpan>
it has been "temporary" closed since they shipped ie7 or even before that i think
21:55
<bewest>
everything I find useful at their site is removed or closed
21:55
<bewest>
like "application readiness toolkit"
21:55
<bewest>
which they removed when vista was actually released
21:55
<bewest>
silly people
21:55
<zcorpan>
bewest: if you want i can add it to my ie7b2-bugs/, i think they are aware of those
21:56
<zcorpan>
or at least they have been pointed out to the ie team more than once, i think
21:57
<bewest>
hrm how do I submit to there?
21:58
<zcorpan>
to where?
21:58
<bewest>
oh
21:58
<bewest>
I mean
21:58
<bewest>
yeah go ahead and add it
21:58
<bewest>
you seem much more organized than anything I'm prepared to offer
21:59
<bewest>
what does (dropped) vs -- ELEMENT mean in your test results?
22:14
zcorpan
improved the ouput of http://simon.html5.org/test/html/parsing/stray-end-tags/
22:15
<zcorpan>
bewest: (dropped) meant that the end tag didn't generate an element
22:15
<zcorpan>
but i dropped "(dropped)" in favor of ""
22:17
<zcorpan>
seems opera always does </br> -> <br> but never </p> -> <p></p>
22:18
<zcorpan>
gecko does both in quirks but neither in standards (or almost standards)
22:26
<bewest>
so now I'm going to have to defer things until after onload because of this stupid bug
22:27
<zcorpan>
bewest: or change P to DIV? :P
22:28
<bewest>
no... I don't have control of the surrounding markup
22:29
<bewest>
I'm producing a widget for other authors to include
22:29
<bewest>
and there is a race condition
22:29
<bewest>
and sometimes this happens
22:30
<bewest>
eg, <script> new Graph(opts); </script> will put somekind of interactive graph there
22:31
<zcorpan>
generate a span instead of a div, then, perhaps?
22:31
<bewest>
maybe... I didn't think the kind of element was the problem though
22:32
<zcorpan>
the test passes if i change DIV to SPAN
22:32
<bewest>
hmmmmmmm
22:33
<bewest>
whoah
22:33
<bewest>
that makes things vastly simpler
22:33
<zcorpan>
:)
22:33
<bewest>
terrific
22:33
<bewest>
wow
22:33
<bewest>
they must have really fubar stuff in IE
22:35
<zcorpan>
http://simon.html5.org/test/ie7b2-bugs/051.html
22:37
<bewest>
oh wow you really took the ax to it
22:37
bewest
takes note
22:38
<bewest>
that's not a valid document though, is it?
22:39
<zcorpan>
valid?
22:39
<zcorpan>
seems like it is conforming html5 http://hsivonen.iki.fi/validator/?doc=http%3A%2F%2Fsimon.html5.org%2Ftest%2Fie7b2-bugs%2F051.html
22:39
<zcorpan>
but generally i don't care about that while making test cases
22:40
<bewest>
ah
22:41
<zcorpan>
valid in the sense of test cases has nothing to do with whether you conform to the conformance requirements of the languages you're using
22:41
<zcorpan>
you might be testing error handling for instance
22:42
<bewest>
yes
22:42
<bewest>
I was under the impression that the DOM may change depending on whether or not the document is valid
22:42
<bewest>
so that in order to better isolate your test, it's better to use a valid document
22:43
<zcorpan>
what do you mean change?
22:43
<zcorpan>
browsers don't know whether a document is valid or not
22:44
<bewest>
hmmm
22:44
<bewest>
good point
22:44
<zcorpan>
they just have bugs :)
22:45
<zcorpan>
e.g., opera doesn't imply a HEAD if there isn't a <head> tag. but that's just a bug. and it doesn't affect this test case
23:09
<zcorpan>
i'm wondering... to whom are the de jure semantics useful? to those who are writing markup by hand? those who create wysiwyg tools? markup consumers?
23:11
<zcorpan>
the two former seem to have ignored de jure semantics to some degree in the past. the third has to operate on how markup is used in the wild in order to get good results (e.g. a definition search with google would have to look at <b> elements and possibly <strong> as well as <dfn>, and perhaps look at just words without markup at all too)
23:13
<zcorpan>
in any case, those who write markup by hand are wasting their time if they use spend time on choosing what markup to use if no-one benefits from the distinction in practice
23:15
<zcorpan>
but catering 100% to markup consumers would probably mean we have to define when a <table> represents tabular data and when it does not
23:16
<Philip`>
What people are there that make use of semantic markup in HTML already, and are they involved with the HTML WG or could they be invited? It seems hard to discuss use cases when nobody can suggest any that are not totally hypothetical
23:18
<zcorpan>
hmm, google extracts definitions from the web
23:18
<zcorpan>
screen readers and browsers in general probably make use of semantic html
23:18
<zcorpan>
to some extent
23:19
<zcorpan>
dunno if we have screen reader manufacturers in the wg
23:20
<zcorpan>
wow, i really have a hard time coming up with who benefits from semantic markup
23:20
<othermaciej>
Apple makes a screen reader
23:20
<othermaciej>
(included with the OS)
23:20
<jgraham>
This is a real problem. Lots of people *really believe* in semantics but don't have convincing use cases that will ever actually be implemented
23:21
<zcorpan>
othermaciej: ah, right
23:21
<jdandrea>
Perhaps tbl has a weigh-in? (The semantic web.)
23:21
<jgraham>
either because the feature is too esoteric or because it requires ~100% of sites to use the markup correctly in order to work
23:22
<zcorpan>
othermaciej: you know about how it benefits from semantics in html? or whether it differentiates between when an element is what it's supposed to be or not (e.g. table for layout vs data)?
23:23
<zcorpan>
it seems to me that if we define e.g. how to differentiate between when a table is used for layout or not, it would be easier for screen reader vendors to enter the market
23:23
<jdandrea>
http://www.w3.org/2001/sw/EO/usecases/byProject.html
23:23
<zcorpan>
pretty much like defining how to parse broken markup
23:23
jdandrea
points to the previous link ... (Does that count?)
23:25
jdandrea
realizes it's not about "semantic html" per se
23:25
<zcorpan>
jdandrea: hmm, looking at the first product description, i can't extract any use-cases
23:25
jdandrea
... and starts wondering if RDF is being confused with HTML (when discussing semantics in the "semantic web" sense)
23:26
<jgraham>
in general I strongly suspect "serendipitous semantics" work better in the real world e.g. pagerank's use of links
23:26
<zcorpan>
just that it's increasingly important, but not why it is
23:26
<jdandrea>
Here's another one: http://tantek.com/presentations/2004etech/realworldsemanticspres.html
23:27
<jgraham>
jdandrea: your first link seems to be mostly about walled garden content
23:27
<zcorpan>
i think karl provided some use-cases for metadata before
23:27
<jdandrea>
jgraham: agreed
23:28
<othermaciej>
zcorpan: I don't think it does that much deep analysis if the content - mainly it tried to represent what is on the screen
23:29
<jdandrea>
Hmm ... what else ... microformats, perhaps?
23:29
<zcorpan>
othermaciej: ok. thanks
23:29
<othermaciej>
zcorpan: it works more from the render tree than the DOM
23:30
<zcorpan>
othermaciej: but does it have a "table navigation" mode like e.g. jaws?
23:30
<jgraham>
I guess some simple things work e.g. authors who use headings at-all seem to get them right more often than they get them wrong
23:31
<othermaciej>
however, a way to succinctly describe the purpose of an element would be useful
23:31
<jgraham>
So you can build a useful tool that works with heading elements
23:31
<othermaciej>
I thought that was what "role" was for when I first heard about it
23:31
<zcorpan>
jgraham: depends on what you mean with get them right... if you look at the document outline then most don't get headers right afaict
23:31
<othermaciej>
we have a concept of "AXRole" in our accessibility API
23:31
<othermaciej>
I don't think our screen reader does table navigation
23:31
<zcorpan>
ok
23:32
<jgraham>
zcorpan: Well that depends on how strictly you interpret the 0 conformance requirements in the HTML4 spec
23:32
<zcorpan>
jgraham: true, but if you use the implementation that is in the w3c validator for instance
23:33
<jgraham>
In general you can get some sort of rough tree structure out but there's often problems like all the sidebar headings as a subtree under a content heading
23:33
<zcorpan>
jgraham: yeah, exactly
23:33
<jgraham>
because HTML4 used the word "important" and noone understood
23:34
jgraham
wonders what would happen if he mentioned that on public-html
23:34
<zcorpan>
http://sitesurgeon.co.uk/articles/using-heading-numbers.html
23:36
<zcorpan>
good thing is that if the new sectioning elements are used in a correct way, the document outline will be more or less "correct" regardless of which number you use
23:36
<jgraham>
Yeah, that article is basically exactly in line with my experience
23:37
<jgraham>
zcorpan: Indeed, the algorithm was carefully design to have that property iirc
23:37
jgraham
must get around to implementing that soon
23:38
<jgraham>
Anyway the point is heading markup is rarely perfect but it's just-about good enough for simple purposes like providing an in-browser outline of the page
23:40
<zcorpan>
unless the page uses <h1> for all text on the page...
23:40
<zcorpan>
...because keywords in <h1> gives higher ranking in SEs
23:40
<jgraham>
zcorpan: Not so many pages do that
23:40
jgraham
fears the SEOs
23:40
<zcorpan>
jgraham: i've seen a couple
23:40
<zcorpan>
they're not that uncommon
23:41
<jgraham>
Well then a user trying to auto-build a outline would have a very bad experience and probably stop using the site
23:41
<jgraham>
So perhaps that would be enough incentive to do something sensible
23:42
<jgraham>
I wonder if google et. al. reject pages with more than x% of the text in headings? It seems like it might be useful
23:42
<zcorpan>
yeah. same could be said about tables for layout and screen readers, but those are far more common
23:43
<zcorpan>
jgraham: probably not reject but they might not apply the normal heading processing for heading elements
23:44
<jgraham>
Ironically according to hsivonen tables for layout works better on small-screen devices than CSS. Small screens are more common than screen readers...
23:44
<jgraham>
(this is a problem with CSS of course)
23:45
<zcorpan>
jgraham: yeah, but aiui hsivonen's experience is based on medium-screen devices that use screen media
23:45
<zcorpan>
jgraham: on mobiles that don't apply css at all or only support a subset of css, divs+css is a better experience than tables
23:46
<zcorpan>
because on such devices you get columns that are 2-3 characters wide
23:46
<zcorpan>
with tables
23:46
<jgraham>
Of course
23:47
<jgraham>
I can't imagine browsing the web on a phone is anything less than painful
23:48
<zcorpan>
it can be more or less painful
23:48
<jgraham>
Anyway, time to sleep, I think :)
23:48
<bewest>
jgraham: there's no way search engines are going to make features that make the web harder to use
23:48
<jgraham>
bewest: ?
23:48
<bewest>
re: (15:47:20) jgraham: I wonder if google et. al. reject pages with more than x% of the text in headings? It seems like it might be useful
23:49
<bewest>
ie, they won't make pages harder to find because of poor authorship
23:49
<jgraham>
Oh, I meant as spam filtering. It's a pretty obvious technique to make your page look more important
23:50
<zcorpan>
jgraham: they're not filtered out
23:50
<jgraham>
and the search engines compete on quality of results
23:50
<bewest>
afaik, no one is using compositional techniques as a metric for spam
23:50
<bewest>
it's way too expensive with not enough benefit, relative to other techniques
23:51
<Philip`>
There are people who misguidedly put spam-like SEO features on non-spam sites, so you'd want to still include those in the results (but ignore the attempts to artificially increase ranking), rather than just filtering them out
23:52
<zcorpan>
Philip`: indeed
23:53
<jgraham>
Sure. Ignoring the obvious spamming techniques but indexing the page would do as well (though it would presumably have _lower_ pagerank than a page that had been "honestly" authored with the same content)