diff --git src/wp-includes/kses.php src/wp-includes/kses.php
index d34608b..5b7f9d5 100644
--- src/wp-includes/kses.php
+++ src/wp-includes/kses.php
@@ -1749,8 +1749,82 @@ function _wp_add_global_attributes( $value ) {
 	if ( true === $value )
 		$value = array();
 
-	if ( is_array( $value ) )
-		return array_merge( $value, $global_attributes );
+	if ( is_array( $value ) ) {
+		return array_merge( $value, $global_attributes, _wp_get_aria_attributes() );
+	}
 
 	return $value;
 }
+
+/**
+ * Helper function to get aria attributes allowed in KSES.
+ *
+ * @since 4.5.0
+ * @access private
+ *
+ * @return array The array of aria attributes with global attributes added.
+ */
+function _wp_get_aria_attributes() {
+	return array(
+		// Global attributes.
+		'aria-atomic'           => true,
+		'aria-busy'             => true,
+		'aria-controls'         => true,
+		'aria-describedby'      => true,
+		'aria-disabled'         => true,
+		'aria-dropeffect'       => true,
+		'aria-flowto'           => true,
+		'aria-grabbed'          => true,
+		'aria-haspopup'         => true,
+		'aria-hidden'           => true,
+		'aria-invalid'          => true,
+		'aria-label'            => true,
+		'aria-labelledby'       => true,
+		'aria-live'             => true,
+		'aria-owns'             => true,
+		'aria-relevant'         => true,
+
+		// Widget attributes.
+		'aria-autocomplete'     => true,
+		'aria-checked'          => true,
+		'aria-disabled'         => true,
+		'aria-expanded'         => true,
+		'aria-haspopup'         => true,
+		'aria-hidden'           => true,
+		'aria-invalid'          => true,
+		'aria-label'            => true,
+		'aria-level'            => true,
+		'aria-multiline'        => true,
+		'aria-multiselectable'  => true,
+		'aria-orientation'      => true,
+		'aria-pressed'          => true,
+		'aria-readonly'         => true,
+		'aria-required'         => true,
+		'aria-selected'         => true,
+		'aria-sort'             => true,
+		'aria-valuemax'         => true,
+		'aria-valuemin'         => true,
+		'aria-valuenow'         => true,
+		'aria-valuetext'        => true,
+
+		// Live region attributes.
+		'aria-atomic'           => true,
+		'aria-busy'             => true,
+		'aria-live'             => true,
+		'aria-relevant'         => true,
+
+		// Drag & Drop attributes
+		'aria-dropeffect'       => true,
+		'aria-grabbed'          => true,
+
+		// Relationship attributes
+		'aria-activedescendant' => true,
+		'aria-controls'         => true,
+		'aria-describedby'      => true,
+		'aria-flowto'           => true,
+		'aria-labelledby'       => true,
+		'aria-owns'             => true,
+		'aria-posinset'         => true,
+		'aria-setsize'          => true,
+	);
+}
diff --git tests/phpunit/tests/kses.php tests/phpunit/tests/kses.php
index c4c1e8e..cad59dc 100644
--- tests/phpunit/tests/kses.php
+++ tests/phpunit/tests/kses.php
@@ -56,6 +56,58 @@ class Tests_Kses extends WP_UnitTestCase {
 	}
 
 	/**
+	 * @ticket 30421
+	 */
+	function test_wp_kses_aria() {
+		$aria_attributes = array(
+			'aria-atomic',
+			'aria-busy',
+			'aria-controls',
+			'aria-describedby',
+			'aria-disabled',
+			'aria-dropeffect',
+			'aria-flowto',
+			'aria-grabbed',
+			'aria-haspopup',
+			'aria-hidden',
+			'aria-invalid',
+			'aria-label',
+			'aria-labelledby',
+			'aria-live',
+			'aria-owns',
+			'aria-relevant',
+			'aria-autocomplete',
+			'aria-checked',
+			'aria-expanded',
+			'aria-level',
+			'aria-multiline',
+			'aria-multiselectable',
+			'aria-orientation',
+			'aria-pressed',
+			'aria-readonly',
+			'aria-required',
+			'aria-selected',
+			'aria-sort',
+			'aria-valuemax',
+			'aria-valuemin',
+			'aria-valuenow',
+			'aria-valuetext',
+			'aria-activedescendant',
+			'aria-posinset',
+			'aria-setsize',
+		);
+
+		$attrs = array();
+		foreach ( $aria_attributes as $attr ) {
+			$attrs[] = sprintf( '%s="%s"', $attr, 'value' );
+		}
+
+		$el = sprintf( '<div %s></div>', implode( ' ', $attrs ) );
+
+		$this->assertEquals( $el, wp_kses_post( $el ) );
+	}
+
+	/**
 	 * @ticket 20210
 	 */
 	function test_wp_filter_post_kses_abbr() {
