{"json_modified": "2016-03-28T08:00:43.915866", "uuid": "85da28d6-da0a-41a8-bef4-35b835fc104e", "title": "Architecture", "url": "/en-US/docs/Web/Accessibility/Architecture", "tags": ["Developing Mozilla", "Accessibility"], "translations": [], "modified": "2014-03-21T17:54:37", "label": "Architecture", "localization_tags": [], "locale": "en-US", "id": 5896, "last_edit": "2013-12-09T12:24:41", "summary": "The implementation of text and embedded objects in Mozilla is clever but confusing. Here is a bit of history and an explanation.", "sections": [{"id": "Introduction", "title": "Introduction"}, {"id": "Node_types", "title": "Node types"}, {"id": "Why_HyperLink_is_often_not_a_link", "title": "Why HyperLink is often not a link"}, {"id": "API_comparison", "title": "API comparison"}, {"id": "Example", "title": "Example"}, {"id": "Implementation_classes", "title": "Implementation classes"}, {"id": "How_does_an_AT_deal_with_text", "title": "How does an AT deal with text"}, {"id": ".28A.29_To_get_the_embedded_object_for_an_embedded_object_char:", "title": "(A) To get the embedded object for an embedded object char:"}, {"id": ".28B.29_To_get_the_offset_in_the_parent_text_for_a_given_embedded_object:", "title": "(B) To get the offset in the parent text for a given embedded object:"}, {"id": ".28C.29_To_get_the_next_char_fom_a_given_offset_in_an_accessible_text:", "title": "(C) To get the next char fom a given offset in an accessible text:"}, {"id": ".28D.29_To_get_the_next_word_or_line:", "title": "(D) To get the next word or line:"}, {"id": ".28E.29_To_grab_a_subtree_of_content:", "title": "(E) To grab a subtree of content:"}, {"id": ".28F.29_To_get_the_line_of_text_at_the_caret:", "title": "(F) To get the line of text at the caret:"}, {"id": "More_information", "title": "More information"}], "slug": "Web/Accessibility/Architecture", "review_tags": []}