IRC log of core on 2010-06-09

Timestamps are in UTC.

00:03:21 [fantasai]
Aharon writes this into the notes
00:04:42 [fantasai]
We try to integrate this with CSS model
00:08:09 [fantasai]
Aharon writes as various people dictate bits
00:15:22 [ehsan]
ehsan has joined #core
00:20:30 [Norbert]
Mark suggests checking the new model against the use cases.
00:23:48 [roozbeh]
Mark suggests we break
00:23:59 [Norbert]
Mark moves that the session be adjourned
00:24:03 [roozbeh]
Roozbeh seconds
00:25:27 [fantasai]
RRSAgent: make minutes
00:25:27 [RRSAgent]
I have made the request to generate http://www.w3.org/2010/06/09-core-minutes.html fantasai
00:26:03 [fantasai]
Thanks for your participation, Adil!!
00:26:12 [Adil]
my pleasure!
00:26:25 [fantasai]
I always enjoy your comments :P
00:26:35 [fantasai]
you're good at pointing things out
00:29:02 [zzzzz]
zzzzz has left #core
00:52:40 [Aharon]
Aharon has joined #core
00:53:03 [Aharon]
Aharon has left #core
02:01:16 [behdad]
behdad has joined #core
20:47:29 [RRSAgent]
RRSAgent has joined #core
20:47:29 [RRSAgent]
logging to http://www.w3.org/2010/06/09-core-irc
20:47:33 [fantasai]
RRSAgent: make logs public
20:47:43 [fantasai]
ScribeNick: fantasai
20:48:46 [matial]
matial has joined #core
20:49:03 [fantasai]
Adil: I looked into what would be required to implement dir=auto in Mozilla
20:49:10 [fantasai]
Adil: To get an idea of what the issues are
20:49:26 [fantasai]
Adil: The main point I had was that this is a big jump from what we had in mind originally
20:50:25 [fantasai]
Adil: It was originally meant to be quite limited, but now with the inheritance behavior we have something that could potentially be used on an entire page
20:50:45 [fantasai]
Adil: And the first thing is, it's definitely doable, but it's not a trivial change for browsers
20:50:56 [fantasai]
Adil: It might require architectural changes with how the browser deal with this attribute
20:51:23 [fantasai]
Adil: Browsers I've worked with assume dir attribute to rtl or ltr, which approximates to a boolean
20:51:35 [fantasai]
Adil: The other issue is the browser assumes it's working with a resolved value
20:51:52 [fantasai]
Adil: So working with uba means you'd have to store two values
20:52:10 [fantasai]
Adil: If I can get a working impl, we can look into seeing how many other problems would come out of this
20:52:18 [fantasai]
Aharon: Yes, it is not trivial, but it seems to be useful
20:52:43 [fantasai]
fantasai: I made the spec changes to CSS for this
20:52:58 [fantasai]
http://dev.w3.org/csswg/css3-text-layout/#unicode-bidi
20:53:07 [fantasai]
fantasai: there are not many changes required for CSS
20:53:15 [fantasai]
fantasai: Most changes would be required in the HTML processing code
20:54:52 [fantasai]
fantasai: The [dir] attribute currently can be handled via CSS inheritance of 'direction'
20:55:06 [fantasai]
fantasai: But with changes we want, we'd need the HTML code to manage the inheritance
20:55:36 [fantasai]
Adil: You'd have to be careful that CSS 'direction' and HTML [dir] did not conflict with each other
20:56:09 [fantasai]
Aharon: We should take some minutes to go over some details in our spec here
20:56:17 [fantasai]
Aharon: We never said explicitly what 'match-parent' does.
20:57:02 [fantasai]
Aharon writes in a definition: match-parent means take the resolved direction of the parent
20:57:33 [behdad]
behdad has joined #core
21:01:51 [fantasai]
...
21:01:57 [fantasai]
Aharon: mapping dir to CSS
21:02:04 [fantasai]
fantasai: dir implies unicode-bidi embed
21:02:08 [fantasai]
Aharon: when specified explicitly
21:02:12 [fantasai]
Aharon: What about 'match-parent'
21:02:42 [fantasai]
roozbeh: The use case is to turn off uba
21:03:03 [fantasai]
RESOLVED: rename 'match-parent' to 'normal'
21:03:17 [fantasai]
Mark: So 'normal' has no effect unless I have set uba
21:05:42 [fantasai]
Aharon edits the document
21:07:57 [fantasai]
RESOLVED: dir=uba and dir=auto imply ubi
21:11:43 [behdad]
behdad has joined #core
21:12:15 [behdad]
behdad has left #core
21:12:32 [behdad]
behdad has joined #core
21:12:52 [fantasai]
Aharon edits points about uba
21:15:47 [fantasai]
RESOLVED: An inline element can have dir=uba. Its children inherit the resolved direction, but not the uba value.
21:18:34 [fantasai]
Currently wordsmithing
21:19:55 [fantasai]
fantasai: Note that you don't know where UBA paragraphs start and end until layout. And you need to resolve the direction before that. So resolving the direction can't depend on splitting into UBA paragraphs
21:20:18 [fantasai]
Mark draws a tree
21:20:22 [fantasai]
Top of tree has uba
21:20:43 [fantasai]
Mark: THe simplest thing to do is, in order to determine the direction, you take the textual content via depth-first traversal
21:20:53 [fantasai]
Mark: until you hit the first strong character
21:20:58 [fantasai]
Mark: And that determines what it is
21:21:06 [fantasai]
Aharon: What if one of those nodes has [dir=ltr]?
21:21:26 [fantasai]
Mark: You ignore the markup. Just check the text.
21:21:49 [fantasai]
Mark: I think that would work in all of the common cases, and in the weird ones we don't care.
21:21:52 [fantasai]
Mark: It's simple to explain
21:22:35 [fantasai]
behdad writes on the board
21:22:37 [fantasai]
<div dir=uba>
21:22:46 [fantasai]
<p dir=normal> [persian char] </p>
21:22:49 [fantasai]
<p>abcd</p>
21:22:51 [fantasai]
</div>
21:23:00 [fantasai]
behdad: So the div will be rtl
21:23:17 [fantasai]
Mark: This is also consistent with how UBA works now -- it does not skip over embedded runs
21:23:26 [roozbeh]
s/behdad/roozbeh/
21:23:26 [behdad]
fantasai: oh am I there?
21:23:41 [behdad]
maybe it's ehsan :D
21:23:44 [fantasai]
:D
21:24:37 [fantasai]
Aharon: Waitaminute, that would mean that if the first child is a <textarea>
21:25:13 [fantasai]
Aharon: We would change the resolution of its ancestors
21:26:27 [fantasai]
discussion of whether or not to except <textarea>
21:27:38 [fantasai]
Mark: Let's add a cautionary note about editable fields inside uba
21:27:39 [behdad]
tricky one
21:27:54 [behdad]
what about out-of-flow ones?
21:28:20 [fantasai]
this is DOM-level resolution
21:28:27 [fantasai]
OOF is in the layout step
21:28:30 [behdad]
ah
21:28:36 [behdad]
tricky indeed
21:29:21 [fantasai]
Note this model means that we do UBA resolution twice
21:29:26 [fantasai]
once to get the resolved direction of the elements
21:29:36 [fantasai]
once to get the resolved direction of each uba paragraph
21:31:25 [fantasai]
Mark draws a jim inside the second main branch of his tree
21:31:45 [fantasai]
Mark: You'd walk through all the neutral content of the entire first branch
21:33:16 [fantasai]
Mark: Then down into the second branch, where you'd find the jim
21:34:01 [fantasai]
Mark: That sets the resolved direction of its parent, which then pipes up to the root
21:34:18 [fantasai]
fantasai: What happens to the boxes with all neutral characters, what is the resolved direction of the elements there?
21:34:33 [fantasai]
Mark: They would default to ltr
21:35:00 [fantasai]
roozbeh: P3 says default to ltr because you don't know anything better
21:35:04 [fantasai]
roozbeh: But we know something better here
21:35:40 [fantasai]
roozbeh: I suggest instead we default to inheritance
21:35:56 [fantasai]
roozbeh: There are cases when you do uba, but you get nothing
21:36:06 [fantasai]
roozbeh: The whole document would be empty
21:36:10 [fantasai]
roozbeh: In that case, you should get ltr
21:37:38 [Adzilla]
can some o
21:37:49 [Adzilla]
ne describe the tree?
21:38:02 [Adzilla]
here… https://docs.google.com/drawings/edit?id=1syX7LEKUFWtN9AModS3FE8b2g0ynl6BNq8yaoH3ksCg&hl=en_GB
21:39:23 [fantasai]
It's roughly two main branches
21:39:31 [fantasai]
each one has many sub branches
21:39:36 [fantasai]
the exact structure not so important
21:39:43 [Adzilla]
OK
21:39:45 [fantasai]
of the subbranches
21:41:03 [fantasai]
RESOLVED: If no direction-dermining characters are found, then inherit the direction
21:58:43 [fantasai]
fantasai: If I have <p>text1<span>text2<br/>text3</span>text4</p>
21:58:55 [fantasai]
fantasai: Do text1 and text4 belong to the same UBA paragraph?
21:59:15 [fantasai]
Tab: Yeah, because the span behaves just like U+FFFC
22:00:07 [fantasai]
Mark writes: <p>text1<span ubi>text2</span></p><p><span ubi>text3</span>text4</p>
22:00:48 [fantasai]
Question of whether the two markups should behave the same
22:04:00 [fantasai]
roozbeh is pointing to the first markup
22:04:11 [fantasai]
roozbeh: There are three UBA paragraphs, two are embedded inside the third
22:04:20 [fantasai]
roozbeh: In the second we have four UBA paragraphs
22:05:01 [fantasai]
Confirmed that these give different renderings
22:06:11 [fantasai]
Mark: So e. is saying that CSS divides the content into UBA paragraphs
22:06:23 [fantasai]
Mark: And each paragraph gets its own paragraph according to UBA
22:07:30 [fantasai]
fantasai reads from text-layout draft
22:07:34 [fantasai]
plaintext For the purposes of the Unicode bidirectional algorithm, the base directionality of each "paragraph" for which the element is the containing block element is determined not by the element's computed ‘direction’ as usual, but by following rules P1, P2, and P3 of the Unicode bidirectional algorithm.
22:08:11 [fantasai]
roozbeh: we need to override P3 with the 'direction' property value
22:08:44 [fantasai]
fantasai: yes
22:09:01 [fantasai]
Also, that definition doesn't handle <span dir=uba>
22:13:57 [fantasai]
discussion about this
22:15:00 [fantasai]
conclusion that actually, we had decided <span dir=uba> would not affect base direciton of UBA paragraphs, only of resolved direction of the element
22:15:09 [fantasai]
so containing block lookup is sufficient for CSS
22:15:26 [fantasai]
roozbeh: uba, if ubi is off, should imply embed
22:21:22 [fantasai]
more wordsmithing
22:28:30 [fantasai]
wordsmithing to fix UBA's default for not-finding-a-direction to use inherited direction
22:28:39 [fantasai]
Aharon edits the bidi f2f document
22:28:42 [fantasai]
fantasai edits the CSS spec
22:39:23 [roozbeh]
10 minute break
22:53:09 [roozbeh]
back in meeting
22:53:15 [fantasai]
Topic: Image flipping
22:53:28 [fantasai]
Aharon reviews history of proposal
22:53:55 [fantasai]
problem to solve is needing to change the image due to change in document's directionality
22:54:27 [fantasai]
Aharon: original proposal had an option to always flip, but people didnt like it because while it was useful it was not related to this problem
22:55:07 [fantasai]
Aharon: Then an alternative proposal was made to make the attribute declarative rather than instructive
22:55:42 [fantasai]
Aharon: So imagedir says what direction the image is in, if it's directional, and when the imagedir doesn't match the parent's dir, then the image is flipped
22:56:10 [fantasai]
Aharon: Not the image's direction, because you might want to put dir= on the image to handle alt text or title text or whatever, so that's why we check the parent
22:56:32 [fantasai]
Mati: What about not displaying the image if the direction doesn't match?
22:56:58 [fantasai]
Aharon: The second proposal said it's great to autoflip the image, but sometimes you want a different image
22:58:25 [fantasai]
Aharon: So to summarize, original proposal had two problems: 1. instructive not declarative, 2. no way to specify a specific image
22:59:38 [fantasai]
roozbeh: Just personal experience, recently I reviewed set of icons for a Yahoo product, to tell them which ones they need to change for becoming rtl
22:59:48 [fantasai]
roozbeh: There were about 50 icons they needed to change.
23:00:05 [fantasai]
roozbeh: About 4 or 5 needed flipping, the rest needed more involved changes
23:00:22 [fantasai]
roozbeh: Only in extremely limited cases was graphical flipping sufficient
23:00:45 [fantasai]
Aharon: Not everyone is Yahoo or Google. Lots of people are not so careful
23:01:04 [fantasai]
roozbeh: If we give them graphical flipping, they will use it a lot, and not do the right thing because it's too easy to just flip it
23:01:45 [fantasai]
roozbeh: I really do not like suggesting that purely graphical flipping is a good thing
23:02:12 [fantasai]
Mark: Would it be useful not just for images, but in general, to have some kind of construct that says "only use the embedded HTML markup if I'm in an rtl environment"
23:03:14 [fantasai]
roozbeh: Usually the things that you want to make appear or disappear based on the direction are things like RLM or LRM
23:03:21 [fantasai]
Mark: Apart from images
23:03:47 [fantasai]
roozbeh: And that use case will be handled by isolate
23:04:01 [fantasai]
Mati: We have 2 levels to aim for
23:04:11 [fantasai]
Mati: One is having options for alternate references or flipping
23:04:26 [fantasai]
Mati: If we listen to roozbeh, we only need alternate references, not flipping
23:05:13 [fantasai]
Mati: I don't quite agree with Roozbeh, because in many cases people don't aim for the pure aesthetic
23:05:18 [fantasai]
Mati: I don't care much about shadows
23:05:33 [fantasai]
Mati: I'm for allowing them to flip with just a keyword, but it's not critical
23:05:57 [fantasai]
Tab: We could just flip. We could allow alternate images. Or we could do both, which is more complicated
23:08:47 [fantasai]
fantasai: When you're localizing the text, why couldn't you just "localize" a piece of the URL to be either 'ltr' or 'rtl'.
23:10:26 [fantasai]
fantasai: If we wanted to make it easy, we could have rtlregexp="s/ltr/rtl/"
23:10:47 [fantasai]
fantasai: or something else that replaces a piece of the image url
23:10:55 [fantasai]
fantasai: I wouldn't want to retype the whole URL anyway
23:10:59 [fantasai]
fantasai: URLs are long
23:12:23 [fantasai]
Adil: An important use case is if you're developing applications to be localized is keeping the rtl localized in sync with the ltr one
23:12:52 [fantasai]
Adil: Every time the LTR version of the CSS changes, I have to change the RTL version
23:13:24 [fantasai]
Adil: So I think this is an important feature, and image flipping is an important part of developing a neutral web application
23:13:42 [fantasai]
roozbeh: I think what we're trying to do here is solving 5% use cases
23:13:50 [fantasai]
Mark: I think what you're talking about is part of this
23:13:58 [fantasai]
Mark: 1. Choose different images
23:14:06 [fantasai]
Mark: 2. Algorithmically flip the image
23:16:13 [fantasai]
fantasai: For 1, I don't see why the localization infrastructure can't handle it adequately by changing a piece of the url
23:16:33 [fantasai]
fantasai: You should be organizing your images systematically so that only one little piece needs to change
23:16:41 [ehsan]
ehsan has joined #core
23:17:21 [fantasai]
fantasai: I understand for CSS it's a more significant problem, but for HTML I think the l10n system should be able to handle it
23:19:44 [fantasai]
more discussion
23:19:52 [fantasai]
Aharon: maybe we should focus on CSS then
23:20:25 [fantasai]
Tab: Suppose you have arbitrary user-generated content, and you're using autodir
23:20:41 [fantasai]
Tab: And you are allowing inserting of icons
23:20:49 [fantasai]
Tab: and you want them to change
23:20:50 [fantasai]
...
23:21:19 [fantasai]
Tab: In most cases you want to localize the text content, so localize the image content too, and in the few cases where you can't then, yeah, handling it through CSS might not be ideal but should be okay
23:23:14 [fantasai]
Aharon: So in CSS, if I have :ltr and :rtl, then I can do what we want to achieve without any new features
23:23:20 [fantasai]
Aharon: but you have to write oodles of code
23:23:36 [fantasai]
Aharon: Do we want to provide something for the naive user?
23:23:51 [fantasai]
Mark draws on the whiteboard
23:24:05 [fantasai]
THE (( IMAGE ))
23:24:17 [fantasai]
where (( and )) are graphical
23:24:42 [fantasai]
Mark labels the first one a and the second one b
23:24:59 [fantasai]
After UBA, we get (( EGAMI )) EAT
23:25:59 [fantasai]
...
23:26:05 [fantasai]
but you don't have access to implicit directions anyway
23:26:18 [fantasai]
roozbeh: I'd do it with a <span> and background images
23:26:26 [fantasai]
Tab: or 'content'
23:27:24 [fantasai]
Aharon: If I've got an RTL phrase inside an LTR paragraph
23:28:30 [fantasai]
Mark: I'm hearing no consensus to adding anything to HTML or CSS
23:29:54 [fantasai]
Aharon: It seems you can do everything you want to do in CSS3, but it might be rather verbose
23:30:01 [fantasai]
Aharon: Is there a shortcut we can add that would help?
23:30:48 [fantasai]
roozbeh: If you want to flip the images, you often also want to do the margins
23:30:53 [fantasai]
s/do/flip/
23:32:34 [fantasai]
http://www.w3.org/TR/css3-images/
23:33:16 [fantasai]
fantasai: we could add an rtlflip keyword to the image() notation
23:34:47 [fantasai]
Adil: Looking at css3-images, I can see you have a proposal for image sprites
23:35:19 [fantasai]
Adil: If there's going to be an image sprites proposal, that might be interesting for rtl cases as well
23:37:04 [fantasai]
fantasai: One goal of that section was to make swapping out of a sprites sheet very easy for e.g. :hover cases. Would making swapping icon sets for rtl very easy
23:37:34 [fantasai]
NO CONSENSUS: that we want anything for HTML
23:37:49 [Adzilla]
There is consensus of sorts on CSS
23:38:23 [fantasai]
I think we have consensus that we want to make CSS authoring easier for LTR+RTL cases
23:38:31 [fantasai]
but we don't have any consensus on a particular solution
23:38:59 [Adzilla]
We can put it in and let the democracy of the mailing list thrash it out!
23:42:29 [fantasai]
RESOLVED: Suggest adding an rtlflip-like option to image() notation in CSS3 Images
23:57:45 [fantasai]
fantasai: What if you have <div uba> <span uba ubi=off> <br> </span> </div>?
23:57:53 [fantasai]
roozbeh writes on the board
23:57:56 [fantasai]
<div dir=ltr>
23:58:03 [fantasai]
<span dir=rtl> text1
23:58:06 [fantasai]
<br/> text2
23:58:09 [fantasai]
</span> text3
23:58:11 [fantasai]
</div>
23:58:57 [fantasai]
fantasai: This is already defined. text2 and text3 are one paragraph with a base direction of ltr
23:59:01 [fantasai]
fantasai question is this
23:59:13 [fantasai]
<div dir=uba>
23:59:47 [fantasai]
<span dir=uba ubi=off> text1
23:59:51 [fantasai]
<br> text2
23:59:53 [fantasai]
</span>
23:59:56 [fantasai]
text3
23:59:57 [fantasai]
</div>