// Returns the text associated with a list marker if this node is contained within a list item. String AccessibilityObject::listMarkerTextForNodeAndPosition(Node* node, const VisiblePosition& visiblePositionStart) const { // If the range does not contain the start of the line, the list marker text should not be included. if (!isStartOfLine(visiblePositionStart)) return String(); RenderListItem* listItem = renderListItemContainerForNode(node); if (!listItem) return String(); // If this is in a list item, we need to manually add the text for the list marker // because a RenderListMarker does not have a Node equivalent and thus does not appear // when iterating text. const String& markerText = listItem->markerText(); if (markerText.isEmpty()) return String(); // Append text, plus the period that follows the text. // FIXME: Not all list marker styles are followed by a period, but this // sounds much better when there is a synthesized pause because of a period. Vector<UChar> resultVector; resultVector.append(markerText.characters(), markerText.length()); resultVector.append('.'); resultVector.append(' '); return String::adopt(resultVector); }