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 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
584 } | 593 } |
585 | 594 |
586 // try the standard | 595 // try the standard |
587 if (title.isEmpty()) | 596 if (title.isEmpty()) |
588 title = AXRenderObject::title(); | 597 title = AXRenderObject::title(); |
589 | 598 |
590 return title; | 599 return title; |
591 } | 600 } |
592 | 601 |
593 } // namespace blink | 602 } // namespace blink |
OLD | NEW |