<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>HTML Test: BDI: neutral when wrapped</title> | |
<link rel="reference" href="bdi-neutral-wrapped-ref.html"> | |
<link rel="author" title="Aharon Lanin" href="mailto:aharon@google.com"> | |
<link rel="author" title="HTML5 bidi test WG" href="mailto:html5bidi@googlegroups.com"> | |
<link rel="help" href="http://dev.w3.org/html5/spec/Overview.html#the-bdi-element"> | |
<meta name="assert" content=" | |
'For the purposes of applying the bidirectional algorithm to the paragraph-level | |
container that a bdi element finds itself within, the bdi element must be treated | |
like a U+FFFC OBJECT REPLACEMENT CHARACTER.' | |
Obviously, this should hold even if the BDI's content is wrapped over more than one line. | |
A single character (U+FFFC or otherwise) obviously never gets wrapped over more than one | |
line, but we still expect the part of the content preceding the BDI, if any, that is | |
displayed on the same line as some part of the BDI to be ordered the same as it would be | |
if that part of the BDI were replaced with U+FFFC. Similarly, we expect the part of the | |
content following the BDI, if any, that is displayed on the same line as some part of the | |
BDI to be ordered the same as it would be if that part of the BDI were replaced with U+FFFC. | |
In the test below, the content surrounding the BDI forms a single directional run (despite | |
the containing element and the BDI both having the opposite direction, because the BDI is | |
treated as a neutral). Thus, on the line containing the first part of the BDI, the BDI's | |
content appears after the content preceding it, and on the line containing the last part of | |
the BDI, the BDI content appears before the content following it, where both 'before' and | |
'after' are defined relative to the surrounding content's direction. And, of course, the line | |
containing just BDI content should be ordered in the BDI's direction."> | |
<style> | |
body{ | |
font-size:2em; | |
} | |
.box { | |
border: medium solid gray; | |
width: 400px; | |
margin: 20px; | |
} | |
</style> | |
</head> | |
<body> | |
The two boxes below should look exactly the same. | |
<!-- Key to entities used below: | |
א ... ו - The first six Hebrew letters (strongly RTL). | |
‭ - The LRO (left-to-right-override) formatting character. | |
‬ - The PDF (pop directional formatting) formatting character; closes LRO. --> | |
<div class="box"> | |
<div dir="ltr"> | |
א > | |
<bdi>b >>> | |
c</bdi> | |
> ד... | |
</div> | |
<div dir="rtl"> | |
a > | |
<bdi>ב >>> | |
ג</bdi> | |
> d... | |
</div> | |
</div> | |
<div class="box"> | |
<div dir="ltr">‭b < א‬<br/>‭>>>‬<br/>‭ד < c...‬</div> | |
<div dir="rtl">‭a > ב‬<br/>‭<<<‬<br/>‭...ג > d‬</div> | |
</div> | |
</body> | |
</html> |