Index: wp-includes/default-filters.php
===================================================================
--- wp-includes/default-filters.php	(revision 43972)
+++ wp-includes/default-filters.php	(working copy)
@@ -554,6 +554,7 @@
 add_filter( 'the_excerpt_embed', 'shortcode_unautop' );
 add_filter( 'the_excerpt_embed', 'wp_embed_excerpt_attachment' );
 
+add_filter( 'oembed_dataparse', 'wp_filter_oembed_title', 9, 3 );
 add_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10, 3 );
 add_filter( 'oembed_response_data', 'get_oembed_response_data_rich', 10, 4 );
 add_filter( 'pre_oembed_result', 'wp_filter_pre_oembed_result', 10, 3 );
Index: wp-includes/embed.php
===================================================================
--- wp-includes/embed.php	(revision 43972)
+++ wp-includes/embed.php	(working copy)
@@ -709,6 +709,45 @@
 }
 
 /**
+ * Filters the given oEmbed HTML to make sure it has a title.
+ *
+ * @since x.x.x
+ *
+ * @param string $result The oEmbed HTML result.
+ * @param object $data   A data object result from an oEmbed provider.
+ * @param string $url    The URL of the content to be embedded.
+ * @return string The filtered oEmbed result.
+ */
+function wp_filter_oembed_title( $result, $data, $url ) {
+
+	// Get title from oEmbed data to start.
+	$title = ! empty( $data->title ) ? $data->title : '';
+
+	// If no oEmbed title, search the return markup for a title attribute.
+	$preg_match     = '/title\=[\"|\\\']{1}([^\"\\\']*)[\"|\\\']{1}/i';
+	$has_title_attr = preg_match( $preg_match, $result, $matches );
+	if ( $has_title_attr && ! empty( $matches[1] ) ) {
+		$title = $matches[1];
+	}
+
+	$title = apply_filters( 'oembed_title', $title, $result, $data, $url );
+
+	/*
+	 * If the title attribute already
+	 * exists, replace with new value.
+	 *
+	 * Otherwise, add the title attribute.
+	 */
+	if ( $has_title_attr ) {
+		$result = preg_replace( $preg_match, 'title="' . esc_attr( $title ) . '"', $result );
+	} else {
+		$result = preg_replace( '/^\<iframe/i', '<iframe title="' . esc_attr( $title ) . '"', $result );
+	}
+
+	return $result;
+}
+
+/**
  * Filters the given oEmbed HTML.
  *
  * If the `$url` isn't on the trusted providers list,
Index: wp-login.php
===================================================================
--- wp-login.php	(revision 43972)
+++ wp-login.php	(working copy)
@@ -334,7 +334,7 @@
 	} elseif ( strpos( $_POST['user_login'], '@' ) ) {
 		$user_data = get_user_by( 'email', trim( wp_unslash( $_POST['user_login'] ) ) );
 		if ( empty( $user_data ) ) {
-			$errors->add( 'invalid_email', __( '<strong>ERROR</strong>: There is no user registered with that email address.' ) );
+			$errors->add( 'invalid_email', __( '<strong>ERROR</strong>: There are no user accounts using that username or email address.' ) );
 		}
 	} else {
 		$login     = trim( $_POST['user_login'] );
@@ -357,7 +357,7 @@
 	}
 
 	if ( ! $user_data ) {
-		$errors->add( 'invalidcombo', __( '<strong>ERROR</strong>: Invalid username or email.' ) );
+		$errors->add( 'invalidcombo', __( '<strong>ERROR</strong>: There are no user accounts using that username or email address.' ) );
 		return $errors;
 	}
 
