From 2a887e43213c4dbb21509b670cf5dc8ac2c67573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Zaefferer?= Date: Thu, 25 Oct 2012 20:30:10 -0400 Subject: [PATCH] Dialog: Improve accessibilty - add an aria-describedby attribute on the dialog if there is nothing yet in the dialog content. Partial fix for: --- ui/jquery.ui.dialog.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js index 07c5c7cb6af..892dd72b099 100644 --- a/ui/jquery.ui.dialog.js +++ b/ui/jquery.ui.dialog.js @@ -156,6 +156,15 @@ $.widget("ui.dialog", { "aria-labelledby": uiDialogTitle.attr( "id" ) }); + // We assume that any existing aria-describedby attribute means + // that the dialog content is marked up properly + // otherwise we brute force the content as the description + if ( !this.element.find( "[aria-describedby]" ).length ) { + uiDialog.attr({ + "aria-describedby": this.element.uniqueId().attr( "id" ) + }); + } + uiDialogTitlebar.find( "*" ).add( uiDialogTitlebar ).disableSelection(); this._hoverable( uiDialogTitlebarClose ); this._focusable( uiDialogTitlebarClose ); @@ -205,6 +214,7 @@ $.widget("ui.dialog", { } this.uiDialog.hide(); this.element + .removeUniqueId() .removeClass( "ui-dialog-content ui-widget-content" ) .hide() .appendTo( "body" );