OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
366 | 366 |
367 ASSERT(!m_haveChildren); | 367 ASSERT(!m_haveChildren); |
368 | 368 |
369 m_haveChildren = true; | 369 m_haveChildren = true; |
370 if (!m_renderer || !m_renderer->isTable()) | 370 if (!m_renderer || !m_renderer->isTable()) |
371 return; | 371 return; |
372 | 372 |
373 RenderTable* table = toRenderTable(m_renderer); | 373 RenderTable* table = toRenderTable(m_renderer); |
374 AXObjectCacheImpl* axCache = axObjectCache(); | 374 AXObjectCacheImpl* axCache = axObjectCache(); |
375 | 375 |
| 376 // Add caption |
| 377 if (HTMLTableElement* tableElement = toHTMLTableElement(table->node())) { |
| 378 if (HTMLTableCaptionElement* caption = tableElement->caption()) { |
| 379 AXObject* captionObject = axCache->getOrCreate(caption); |
| 380 if (!captionObject->accessibilityIsIgnored()) |
| 381 m_children.append(captionObject); |
| 382 } |
| 383 } |
| 384 |
376 // Go through all the available sections to pull out the rows and add them a
s children. | 385 // Go through all the available sections to pull out the rows and add them a
s children. |
377 table->recalcSectionsIfNeeded(); | 386 table->recalcSectionsIfNeeded(); |
378 RenderTableSection* tableSection = table->topSection(); | 387 RenderTableSection* tableSection = table->topSection(); |
379 if (!tableSection) | 388 if (!tableSection) |
380 return; | 389 return; |
381 | 390 |
382 RenderTableSection* initialTableSection = tableSection; | 391 RenderTableSection* initialTableSection = tableSection; |
383 while (tableSection) { | 392 while (tableSection) { |
384 | 393 |
385 HashSet<AXObject*> appendedRows; | 394 HashSet<AXObject*> appendedRows; |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
570 } | 579 } |
571 | 580 |
572 // try the standard | 581 // try the standard |
573 if (title.isEmpty()) | 582 if (title.isEmpty()) |
574 title = AXRenderObject::title(); | 583 title = AXRenderObject::title(); |
575 | 584 |
576 return title; | 585 return title; |
577 } | 586 } |
578 | 587 |
579 } // namespace blink | 588 } // namespace blink |
OLD | NEW |