<!DOCTYPE HTML>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>

<style>
  #para {
      width: 0px;
      overflow: visible;
  }
  #para:first-letter {
      text-transform:uppercase;
  }
</style>
<p id="para">
  hello world
</p>

<script>
test(function(t) {
    var axPara = accessibilityController.accessibleElementById("para");
    assert_equals(axPara.role, "AXRole: AXParagraph");
    var axStaticText = axPara.childAtIndex(0);
    assert_equals(axStaticText.role, "AXRole: AXStaticText");
    var inlineText = '';
    for (var i = 0; i < axStaticText.childrenCount; i++) {
        inlineText += axStaticText.childAtIndex(i).name;
    }
    assert_equals(inlineText, axStaticText.name);
}, "Inline text boxes appended equal static text, even with first-letter.");
</script>
