Ticket #30421: 30421.diff
File 30421.diff, 4.0 KB (added by , 9 years ago) |
---|
-
src/wp-includes/kses.php
diff --git src/wp-includes/kses.php src/wp-includes/kses.php index d34608b..5b7f9d5 100644
function _wp_add_global_attributes( $value ) { 1749 1749 if ( true === $value ) 1750 1750 $value = array(); 1751 1751 1752 if ( is_array( $value ) ) 1753 return array_merge( $value, $global_attributes ); 1752 if ( is_array( $value ) ) { 1753 return array_merge( $value, $global_attributes, _wp_get_aria_attributes() ); 1754 } 1754 1755 1755 1756 return $value; 1756 1757 } 1758 1759 /** 1760 * Helper function to get aria attributes allowed in KSES. 1761 * 1762 * @since 4.5.0 1763 * @access private 1764 * 1765 * @return array The array of aria attributes with global attributes added. 1766 */ 1767 function _wp_get_aria_attributes() { 1768 return array( 1769 // Global attributes. 1770 'aria-atomic' => true, 1771 'aria-busy' => true, 1772 'aria-controls' => true, 1773 'aria-describedby' => true, 1774 'aria-disabled' => true, 1775 'aria-dropeffect' => true, 1776 'aria-flowto' => true, 1777 'aria-grabbed' => true, 1778 'aria-haspopup' => true, 1779 'aria-hidden' => true, 1780 'aria-invalid' => true, 1781 'aria-label' => true, 1782 'aria-labelledby' => true, 1783 'aria-live' => true, 1784 'aria-owns' => true, 1785 'aria-relevant' => true, 1786 1787 // Widget attributes. 1788 'aria-autocomplete' => true, 1789 'aria-checked' => true, 1790 'aria-disabled' => true, 1791 'aria-expanded' => true, 1792 'aria-haspopup' => true, 1793 'aria-hidden' => true, 1794 'aria-invalid' => true, 1795 'aria-label' => true, 1796 'aria-level' => true, 1797 'aria-multiline' => true, 1798 'aria-multiselectable' => true, 1799 'aria-orientation' => true, 1800 'aria-pressed' => true, 1801 'aria-readonly' => true, 1802 'aria-required' => true, 1803 'aria-selected' => true, 1804 'aria-sort' => true, 1805 'aria-valuemax' => true, 1806 'aria-valuemin' => true, 1807 'aria-valuenow' => true, 1808 'aria-valuetext' => true, 1809 1810 // Live region attributes. 1811 'aria-atomic' => true, 1812 'aria-busy' => true, 1813 'aria-live' => true, 1814 'aria-relevant' => true, 1815 1816 // Drag & Drop attributes 1817 'aria-dropeffect' => true, 1818 'aria-grabbed' => true, 1819 1820 // Relationship attributes 1821 'aria-activedescendant' => true, 1822 'aria-controls' => true, 1823 'aria-describedby' => true, 1824 'aria-flowto' => true, 1825 'aria-labelledby' => true, 1826 'aria-owns' => true, 1827 'aria-posinset' => true, 1828 'aria-setsize' => true, 1829 ); 1830 } -
tests/phpunit/tests/kses.php
diff --git tests/phpunit/tests/kses.php tests/phpunit/tests/kses.php index c4c1e8e..cad59dc 100644
class Tests_Kses extends WP_UnitTestCase { 56 56 } 57 57 58 58 /** 59 * @ticket 30421 60 */ 61 function test_wp_kses_aria() { 62 $aria_attributes = array( 63 'aria-atomic', 64 'aria-busy', 65 'aria-controls', 66 'aria-describedby', 67 'aria-disabled', 68 'aria-dropeffect', 69 'aria-flowto', 70 'aria-grabbed', 71 'aria-haspopup', 72 'aria-hidden', 73 'aria-invalid', 74 'aria-label', 75 'aria-labelledby', 76 'aria-live', 77 'aria-owns', 78 'aria-relevant', 79 'aria-autocomplete', 80 'aria-checked', 81 'aria-expanded', 82 'aria-level', 83 'aria-multiline', 84 'aria-multiselectable', 85 'aria-orientation', 86 'aria-pressed', 87 'aria-readonly', 88 'aria-required', 89 'aria-selected', 90 'aria-sort', 91 'aria-valuemax', 92 'aria-valuemin', 93 'aria-valuenow', 94 'aria-valuetext', 95 'aria-activedescendant', 96 'aria-posinset', 97 'aria-setsize', 98 ); 99 100 $attrs = array(); 101 foreach ( $aria_attributes as $attr ) { 102 $attrs[] = sprintf( '%s="%s"', $attr, 'value' ); 103 } 104 105 $el = sprintf( '<div %s></div>', implode( ' ', $attrs ) ); 106 107 $this->assertEquals( $el, wp_kses_post( $el ) ); 108 } 109 110 /** 59 111 * @ticket 20210 60 112 */ 61 113 function test_wp_filter_post_kses_abbr() {