Преглед на файлове

HUE-6077 [frontend] Fix all modal headers

Johan Ahlen преди 8 години
родител
ревизия
05d5267
променени са 82 файла, в които са добавени 497 реда и са изтрити 461 реда
  1. 2 2
      apps/beeswax/src/beeswax/templates/confirm.mako
  2. 2 2
      apps/beeswax/src/beeswax/templates/create_database.mako
  3. 2 2
      apps/beeswax/src/beeswax/templates/create_table_manually.mako
  4. 14 15
      apps/beeswax/src/beeswax/templates/execute.mako
  5. 2 2
      apps/beeswax/src/beeswax/templates/import_wizard_choose_file.mako
  6. 2 2
      apps/beeswax/src/beeswax/templates/list_designs.mako
  7. 2 2
      apps/beeswax/src/beeswax/templates/list_trashed_designs.mako
  8. 2 2
      apps/beeswax/src/beeswax/templates/my_queries.mako
  9. 2 2
      apps/beeswax/src/beeswax/templates/watch_results.mako
  10. 2 2
      apps/filebrowser/src/filebrowser/templates/edit.mako
  11. 35 35
      apps/filebrowser/src/filebrowser/templates/listdir_components.mako
  12. 25 25
      apps/hbase/src/hbase/templates/app.mako
  13. 2 2
      apps/jobbrowser/src/jobbrowser/templates/job.mako
  14. 2 2
      apps/jobbrowser/src/jobbrowser/templates/jobs.mako
  15. 14 14
      apps/jobsub/src/jobsub/templates/designs.mako
  16. 2 2
      apps/metastore/src/metastore/templates/confirm.mako
  17. 2 2
      apps/metastore/src/metastore/templates/describe_partitions.mako
  18. 6 6
      apps/metastore/src/metastore/templates/metastore.mako
  19. 2 2
      apps/metastore/src/metastore/templates/popups/load_data.mako
  20. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_bundle.mako
  21. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_bundles.mako
  22. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinator.mako
  23. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinators.mako
  24. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow.mako
  25. 2 2
      apps/oozie/src/oozie/templates/dashboard/list_oozie_workflows.mako
  26. 2 2
      apps/oozie/src/oozie/templates/dashboard/rerun_bundle_popup.mako
  27. 2 2
      apps/oozie/src/oozie/templates/dashboard/rerun_coord_popup.mako
  28. 2 2
      apps/oozie/src/oozie/templates/dashboard/rerun_job_popup.mako
  29. 2 2
      apps/oozie/src/oozie/templates/editor/action_utils.mako
  30. 6 6
      apps/oozie/src/oozie/templates/editor/control_utils.mako
  31. 4 4
      apps/oozie/src/oozie/templates/editor/edit_workflow.mako
  32. 4 4
      apps/oozie/src/oozie/templates/editor/list_bundles.mako
  33. 4 4
      apps/oozie/src/oozie/templates/editor/list_coordinators.mako
  34. 6 6
      apps/oozie/src/oozie/templates/editor/list_trashed_bundles.mako
  35. 6 6
      apps/oozie/src/oozie/templates/editor/list_trashed_coordinators.mako
  36. 6 6
      apps/oozie/src/oozie/templates/editor/list_trashed_workflows.mako
  37. 4 4
      apps/oozie/src/oozie/templates/editor/list_workflows.mako
  38. 2 2
      apps/oozie/src/oozie/templates/editor/submit_job_popup.mako
  39. 7 7
      apps/oozie/src/oozie/templates/editor2/bundle_editor.mako
  40. 6 6
      apps/oozie/src/oozie/templates/editor2/common_scheduler.inc.mako
  41. 2 2
      apps/oozie/src/oozie/templates/editor2/coordinator_editor.mako
  42. 2 2
      apps/oozie/src/oozie/templates/editor2/list_editor_bundles.mako
  43. 2 2
      apps/oozie/src/oozie/templates/editor2/list_editor_coordinators.mako
  44. 2 2
      apps/oozie/src/oozie/templates/editor2/list_editor_workflows.mako
  45. 7 7
      apps/oozie/src/oozie/templates/editor2/submit_job_popup.mako
  46. 8 8
      apps/oozie/src/oozie/templates/editor2/workflow_editor.mako
  47. 4 4
      apps/oozie/src/oozie/templates/utils.inc.mako
  48. 21 21
      apps/pig/src/pig/templates/app.mako
  49. 2 2
      apps/rdbms/src/rdbms/templates/execute.mako
  50. 2 2
      apps/security/src/security/templates/hdfs.mako
  51. 15 16
      apps/security/src/security/templates/hive.mako
  52. 15 15
      apps/security/src/security/templates/sentry.mako
  53. 6 6
      apps/sqoop/src/sqoop/templates/app.mako
  54. 2 2
      apps/useradmin/src/useradmin/templates/list_groups.mako
  55. 2 2
      apps/useradmin/src/useradmin/templates/list_users.mako
  56. 2 2
      apps/useradmin/src/useradmin/templates/sync_ldap_users_groups.mako
  57. 2 2
      apps/zookeeper/src/zookeeper/templates/tree.mako
  58. 0 0
      desktop/core/src/desktop/static/desktop/css/hue.css
  59. 0 15
      desktop/core/src/desktop/static/desktop/css/hue3.css
  60. 2 2
      desktop/core/src/desktop/static/desktop/js/bootstrap-wysihtml5-0.0.2.js
  61. 1 1
      desktop/core/src/desktop/static/desktop/js/jquery.tour.js
  62. 17 0
      desktop/core/src/desktop/static/desktop/less/hue-cross-version.less
  63. 17 0
      desktop/core/src/desktop/static/desktop/less/hue-cui-overrides.less
  64. 1 1
      desktop/core/src/desktop/static/desktop/less/hue.less
  65. 17 0
      desktop/core/src/desktop/static/desktop/less/hue3-extra.less
  66. 2 2
      desktop/core/src/desktop/templates/common_home.mako
  67. 4 4
      desktop/core/src/desktop/templates/common_import_export.mako
  68. 6 6
      desktop/core/src/desktop/templates/common_notebook_ko_components.mako
  69. 2 2
      desktop/core/src/desktop/templates/common_share.mako
  70. 2 2
      desktop/core/src/desktop/templates/common_share2.mako
  71. 2 2
      desktop/core/src/desktop/templates/config_ko_components.mako
  72. 15 14
      desktop/core/src/desktop/templates/document_browser.mako
  73. 67 67
      desktop/core/src/desktop/templates/home.mako
  74. 2 2
      desktop/core/src/desktop/templates/ko_components.mako
  75. 2 2
      desktop/libs/dashboard/src/dashboard/templates/common_admin_collections.mako
  76. 6 6
      desktop/libs/indexer/src/indexer/templates/collections.mako
  77. 4 4
      desktop/libs/indexer/src/indexer/templates/importer.mako
  78. 2 2
      desktop/libs/indexer/src/indexer/templates/indexer.mako
  79. 2 2
      desktop/libs/indexer/src/indexer/templates/indexes.mako
  80. 24 24
      desktop/libs/notebook/src/notebook/templates/editor_components.mako
  81. 6 5
      desktop/libs/notebook/src/notebook/templates/notebooks.mako
  82. 1 1
      tools/followme/jHueTourBuilder.js

+ 2 - 2
apps/beeswax/src/beeswax/templates/confirm.mako

@@ -21,8 +21,8 @@ from django.utils.translation import ugettext as _
 <form action="{{ url }}" method="POST">>
   ${ csrf_token(request) | n,unicode }
   <div class="modal-header">
-	<a href="javascript:void(0);" class="close">&times;</a>
-	<h3>${ _('Confirm action') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Confirm action') }</h2>
   </div>
   <div class="modal-body">
     <div class="alert-message block-message warning">

+ 2 - 2
apps/beeswax/src/beeswax/templates/create_database.mako

@@ -188,8 +188,8 @@ ${ assist.assistPanel() }
 
 <div id="chooseFile" class="modal hide fade">
     <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Choose a file')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Choose a file') }</h2>
     </div>
     <div class="modal-body">
         <div id="filechooser">

+ 2 - 2
apps/beeswax/src/beeswax/templates/create_table_manually.mako

@@ -500,8 +500,8 @@ ${ assist.assistPanel() }
 
 <div id="chooseFile" class="modal hide fade">
     <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Choose a file')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Choose a file') }</h2>
     </div>
     <div class="modal-body">
         <div id="filechooser">

+ 14 - 15
apps/beeswax/src/beeswax/templates/execute.mako

@@ -625,8 +625,8 @@ ${ layout.menubar(section='query') }
 
   <div id="chooseFile" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Choose a file') }</h2>
     </div>
     <div class="modal-body">
       <div id="filechooser">
@@ -638,8 +638,8 @@ ${ layout.menubar(section='query') }
 
   <div id="chooseFolder" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Select a directory')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Select a directory') }</h2>
     </div>
     <div class="modal-body">
       <div id="folderchooser">
@@ -651,8 +651,8 @@ ${ layout.menubar(section='query') }
 
   <div id="choosePath" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Select a file or directory')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Select a file or directory') }</h2>
     </div>
     <div class="modal-body">
       <div id="pathchooser">
@@ -665,9 +665,8 @@ ${ layout.menubar(section='query') }
 
   <div id="saveAs" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-
-      <h3>${_('Choose a name')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Choose a name') }</h2>
     </div>
     <form class="form-horizontal">
       <div class="control-group" id="saveas-query-name">
@@ -699,8 +698,8 @@ ${ layout.menubar(section='query') }
     </div>
 
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Save Query Results')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Save Query Results') }</h2>
     </div>
     <div class="modal-body" style="padding: 4px">
       <!-- ko if: $root.design.results.save.saveTargetError() -->
@@ -773,8 +772,8 @@ ${ layout.menubar(section='query') }
 
 <div id="clearHistoryModal" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Confirm History Clear')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Confirm History Clear') }</h2>
   </div>
   <div class="modal-body">
     <p>${_('Are you sure you want to clear the query history?')}</p>
@@ -788,8 +787,8 @@ ${ layout.menubar(section='query') }
 %if ENABLE_QUERY_BUILDER.get():
 <div id="invalidQueryBuilder" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Invalid Query')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Invalid Query') }</h2>
   </div>
   <div class="modal-body">
     <p>${_('Query requires a select or an aggregate.')}</p>

+ 2 - 2
apps/beeswax/src/beeswax/templates/import_wizard_choose_file.mako

@@ -181,8 +181,8 @@ ${ assist.assistPanel() }
 
 <div id="chooseFile" class="modal hide fade">
     <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Choose a file')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Choose a file') }</h2>
     </div>
     <div class="modal-body">
         <div id="filechooser">

+ 2 - 2
apps/beeswax/src/beeswax/templates/list_designs.mako

@@ -130,8 +130,8 @@ ${ layout.menubar(section='saved queries') }
     ${ csrf_token(request) | n,unicode }
     <input type="hidden" name="skipTrash" id="skipTrash" value="false"/>
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="deleteQueryMessage">${_('Confirm action')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="deleteQueryMessage" class="modal-title">${ _('Confirm action') }</h2>
     </div>
     <div class="modal-footer">
       <input type="button" class="btn" data-dismiss="modal" value="${_('Cancel')}" />

+ 2 - 2
apps/beeswax/src/beeswax/templates/list_trashed_designs.mako

@@ -113,8 +113,8 @@ ${layout.menubar(section='saved queries')}
     ${ csrf_token(request) | n,unicode }
     <input type="hidden" name="skipTrash" id="skipTrash" value="true"/>
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="deleteQueryMessage">${_('Confirm action')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="deleteQueryMessage" class="modal-title">${ _('Confirm action') }</h2>
     </div>
     <div class="modal-footer">
       <input type="button" class="btn" data-dismiss="modal" value="${_('Cancel')}" />

+ 2 - 2
apps/beeswax/src/beeswax/templates/my_queries.mako

@@ -167,8 +167,8 @@ ${layout.menubar(section='my queries')}
     ${ csrf_token(request) | n,unicode }
     <input type="hidden" name="skipTrash" id="skipTrash" value="false"/>
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="deleteQueryMessage">${_('Confirm action')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="deleteQueryMessage" class="modal-title">${ _('Confirm action') }</h2>
     </div>
     <div class="modal-footer">
       <input type="button" class="btn" data-dismiss="modal" value="${_('Cancel')}"/>

+ 2 - 2
apps/beeswax/src/beeswax/templates/watch_results.mako

@@ -300,8 +300,8 @@ ${layout.menubar(section='query')}
         class="form form-inline form-padding-fix">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Save Query Results')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Save Query Results') }</h2>
     </div>
     <div class="modal-body">
       <label class="radio">

+ 2 - 2
apps/filebrowser/src/filebrowser/templates/edit.mako

@@ -75,8 +75,8 @@ ${ fb_components.menubar() }
     <form id="saveAsForm" action="${url('filebrowser.views.save_file')}" method="POST" class="form-stacked form-padding-fix">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Save as')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Save as') }</h2>
     </div>
     <div class="modal-body" style="max-height: 430px">
         <span class="help-block">${_("Enter the location where you would like to save the file.")}</span>

+ 35 - 35
apps/filebrowser/src/filebrowser/templates/listdir_components.mako

@@ -101,8 +101,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <!-- extract modal -->
   <div id="confirmExtractModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Extract Archive')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Extract Archive') }</h2>
     </div>
     <!-- ko if: selectedFile -->
     <div class="modal-body">
@@ -123,8 +123,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <!-- compress modal -->
   <div id="confirmCompressModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Compress Files')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Compress Files') }</h2>
     </div>
     <!-- ko if: selectedFiles -->
     <div class="modal-body">
@@ -145,8 +145,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <!-- delete modal -->
   <div id="deleteModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Confirm Delete')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Confirm Delete') }</h2>
     </div>
     <div class="modal-body">
       <!-- ko if: isS3() && isS3Root() -->
@@ -182,8 +182,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <!-- restore modal -->
   <div id="restoreTrashModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Confirm Restore')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Confirm Restore') }</h2>
     </div>
     <div class="modal-body">
       <p>${_('Are you sure you want to restore these files?')}</p>
@@ -200,8 +200,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <!-- purge modal -->
   <div id="purgeTrashModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Confirm empty trash')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Confirm empty trash') }</h2>
     </div>
 
     <div class="modal-body">
@@ -222,8 +222,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
     ${ csrf_token(request) | n,unicode }
     <div id="renameModal" class="modal hide fade">
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Renaming:')} <span id="renameFileName">file name</span></h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Renaming:')} <span id="renameFileName">file name</span></h2>
       </div>
       <div class="modal-body">
         <label>${_('New name')} <input id="newNameInput" name="dest_path" value="" type="text" class="input-xlarge"/></label>
@@ -247,8 +247,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
     ${ csrf_token(request) | n,unicode }
     <div id="setReplicationModal" class="modal hide fade">
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Setting replication factor for :')} <span id="setReplFileName">file name</span></h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Setting replication factor for :')} <span id="setReplFileName">file name</span></h2>
       </div>
       <div class="modal-body">
         <label>${_('Replication factor')} <input id="newRepFactorInput" name="replication_factor" value="" type="number" class="input-mini"/></label>
@@ -273,8 +273,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
       select_filter = is_fs_superuser and 'SelectWithOther' or ''
     %>
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Change Owner/Group')}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Change Owner/Group')}</h2>
       </div>
 
       <div class="modal-body change-owner-modal-body clearfix" >
@@ -305,8 +305,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
     ${ csrf_token(request) | n,unicode }
     <div id="changePermissionModal" class="modal hide fade">
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Change Permissions')} </h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Change Permissions')}</h2>
       </div>
       <div class="modal-body table-margin">
         <table class="table table-striped">
@@ -368,9 +368,9 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <form id="moveForm" action="/filebrowser/move" method="POST" enctype="multipart/form-data" class="form-inline form-padding-fix">
     ${ csrf_token(request) | n,unicode }
     <div id="moveModal" class="modal hide fade">
-      <div class="modal-header" style="padding-bottom: 10px">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Move to')}</h3>
+      <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Move to')}</h2>
       </div>
       <div class="modal-body" style="max-height: 400px; height: 340px; overflow-x:hidden">
         <div id="moveFilechooser"></div>
@@ -390,9 +390,9 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <form id="copyForm" action="/filebrowser/copy" method="POST" enctype="multipart/form-data" class="form-inline form-padding-fix">
     ${ csrf_token(request) | n,unicode }
     <div id="copyModal" class="modal hide fade">
-      <div class="modal-header" style="padding-bottom: 10px">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Copy to')}</h3>
+      <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Copy to')}</h2>
       </div>
       <div class="modal-body" style="max-height: 400px; height: 340px; overflow-x:hidden">
         <div id="copyFilechooser"></div>
@@ -411,8 +411,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <!-- upload file modal -->
   <div id="uploadFileModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal" data-bind="visible: pendingUploads() == 0">&times;</a>
-      <h3>${_('Upload to')} <span id="uploadDirName" data-bind="text: currentPath"></span></h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Upload to')} <span id="uploadDirName" data-bind="text: currentPath"></span></h2>
     </div>
     <div class="modal-body form-inline">
       <div id="fileUploader" class="uploader">
@@ -427,8 +427,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <!-- upload archive modal -->
   <div id="uploadArchiveModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal" data-bind="visible: pendingUploads() == 0">&times;</a>
-      <h3>${_('Upload and extract in')} <span id="uploadDirName" data-bind="text: currentPath"></span></h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Upload and extract in')} <span id="uploadDirName" data-bind="text: currentPath"></span></h2>
     </div>
     <div class="modal-body form-inline">
       <div id="archiveUploader" class="uploader">
@@ -445,12 +445,12 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
     ${ csrf_token(request) | n,unicode }
     <div id="createDirectoryModal" class="modal hide fade">
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
         <!-- ko if: !isS3() || (isS3() && !isS3Root()) -->
-        <h3>${_('Create Directory')}</h3>
+        <h2 class="modal-title">${_('Create Directory')}</h2>
         <!-- /ko -->
         <!-- ko if: isS3() && isS3Root() -->
-        <h3>${_('Create Bucket')}</h3>
+        <h2 class="modal-title">${_('Create Bucket')}</h2>
         <!-- /ko -->
       </div>
       <div class="modal-body">
@@ -482,8 +482,8 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
     ${ csrf_token(request) | n,unicode }
     <div id="createFileModal" class="modal hide fade">
         <div class="modal-header">
-          <a href="#" class="close" data-dismiss="modal">&times;</a>
-          <h3>${_('Create File')}</h3>
+          <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+          <h2 class="modal-title">${_('Create File')}</h2>
         </div>
         <div class="modal-body">
           <label>${_('File Name')} <input id="newFileNameInput" name="name" value="" type="text" class="input-xlarge"/></label>
@@ -505,9 +505,9 @@ from filebrowser.conf import ENABLE_EXTRACT_UPLOADED_ARCHIVE
   <!-- content summary modal -->
   <div id="contentSummaryModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
       <!-- ko if: selectedFile -->
-      <h3 style="word-break: break-all">${_('Summary for')} <span data-bind="text: selectedFile().path"></span></h3>
+      <h2 class="modal-title" style="word-break: break-all">${_('Summary for')} <span data-bind="text: selectedFile().path"></span></h2>
       <!--/ko -->
     </div>
     <div class="modal-body">

+ 25 - 25
apps/hbase/src/hbase/templates/app.mako

@@ -188,8 +188,8 @@ ${ commonheader(None, "hbase", user, request) | n,unicode }
     <form id="new_table_modal" action="createTable" method="POST" class="modal hide fade ajaxSubmit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
       ${ csrf_token(request) | n,unicode }
       <div class="modal-header">
-        <a class="close pointer" data-dismiss="modal" aria-hidden="true">&times;</a>
-        <h3>${_('Create New Table')}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Create New Table')}</h2>
       </div>
       <div class="modal-body controls">
         <input type="hidden" name="cluster" data-bind="value:hbaseApp.cluster"/>
@@ -317,8 +317,8 @@ ${ commonheader(None, "hbase", user, request) | n,unicode }
     </form>
     <script id="new_row_modal_template" type="text/html">
       <div class="modal-header">
-        <a class="close pointer" data-dismiss="modal" aria-hidden="true">&times;</a>
-        <h3>${_('Insert New Row')}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Insert New Row')}</h2>
       </div>
       <div class="modal-body controls">
         <input type="hidden" name="cluster" data-bind="value:hbaseApp.cluster"/>
@@ -340,23 +340,23 @@ ${ commonheader(None, "hbase", user, request) | n,unicode }
     </form>
     <script id="new_column_modal_template" type="text/html">
       <div class="modal-header">
-          <a class="close pointer" data-dismiss="modal" aria-hidden="true">&times;</a>
-          <h3>${_('Create New Column')}</h3>
-        </div>
-        <div class="modal-body controls">
-          <input type="hidden" data-bind="value: hbaseApp.cluster"/>
-          <input type="hidden" data-bind="value: hbaseApp.views.tabledata.name"/>
-          <input type="hidden" data-bind="value: $data.row"/>
-          <label class="control-label">${_('Column Name')}</label>
-          <input id="new_column_name" type="text" placeholder = "family:column_name">
-          <label class="control-label">${_('Cell Value')}</label>
-          <textarea placeholder = "${_('Cell Value')}"></textarea>
-        </div>
-        <div class="modal-footer">
-          <button class="btn" data-dismiss="modal" aria-hidden="true">${_('Cancel')}</button>
-          <a id="column-upload-btn" class="btn fileChooserBtn" aria-hidden="true"><i class="fa fa-upload"></i> ${_('Upload')}</a>
-          <input type="submit" class="btn btn-primary" value="Submit">
-        </div>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Create New Column')}</h2>
+      </div>
+      <div class="modal-body controls">
+        <input type="hidden" data-bind="value: hbaseApp.cluster"/>
+        <input type="hidden" data-bind="value: hbaseApp.views.tabledata.name"/>
+        <input type="hidden" data-bind="value: $data.row"/>
+        <label class="control-label">${_('Column Name')}</label>
+        <input id="new_column_name" type="text" placeholder = "family:column_name">
+        <label class="control-label">${_('Cell Value')}</label>
+        <textarea placeholder = "${_('Cell Value')}"></textarea>
+      </div>
+      <div class="modal-footer">
+        <button class="btn" data-dismiss="modal" aria-hidden="true">${_('Cancel')}</button>
+        <a id="column-upload-btn" class="btn fileChooserBtn" aria-hidden="true"><i class="fa fa-upload"></i> ${_('Upload')}</a>
+        <input type="submit" class="btn btn-primary" value="Submit">
+      </div>
     </script>
 
     <!-- Cell Edit Modal -->
@@ -365,8 +365,8 @@ ${ commonheader(None, "hbase", user, request) | n,unicode }
 
     <script id="cell_edit_modal_template" type="text/html">
       <div class="modal-header">
-        <a class="close pointer" data-dismiss="modal" aria-hidden="true">&times;</a>
-        <h3>${_('Edit Cell')} - <span data-bind="text: content.name || formatTimestamp(timestamp())"></span> <code data-bind="text: mime, visible: mime !== 'type/null'"></code> <small><i class="fa fa-clock-o"></i> <span data-bind="text: formatTimestamp(timestamp())"></span></small></h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Edit Cell')} - <span data-bind="text: content.name || formatTimestamp(timestamp())"></span> <code data-bind="text: mime, visible: mime !== 'type/null'"></code> <small><i class="fa fa-clock-o"></i> <span data-bind="text: formatTimestamp(timestamp())"></span></small></h2>
       </div>
       <div class="modal-body container-fluid">
           <div class="row-fluid">
@@ -430,8 +430,8 @@ ${ commonheader(None, "hbase", user, request) | n,unicode }
   <div id="confirm-modal" action="createTable" method="POST" class="modal hide fade"></div>
   <script id="confirm_template" type="text/html">
     <div class="modal-header">
-      <a class="close pointer" data-dismiss="modal" aria-hidden="true">&times;</a>
-      <h3 data-bind="text: title"></h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title" data-bind="text: title"></h2>
     </div>
     <div class="modal-body" data-bind="text: text">
     </div>

+ 2 - 2
apps/jobbrowser/src/jobbrowser/templates/job.mako

@@ -543,8 +543,8 @@ ${ comps.menubar() }
 
 <div id="killModal" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Confirm Kill')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Confirm Kill')}</h2>
   </div>
   <div class="modal-body">
     <p>${_('Are you sure you want to kill this job?')}</p>

+ 2 - 2
apps/jobbrowser/src/jobbrowser/templates/jobs.mako

@@ -92,8 +92,8 @@ ${ components.menubar(hiveserver2_impersonation_enabled) }
 
 <div id="killModal" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Confirm Kill')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Confirm Kill')}</h2>
   </div>
   <div class="modal-body">
     <p>${_('Are you sure you want to kill this job?')}</p>

+ 14 - 14
apps/jobsub/src/jobsub/templates/designs.mako

@@ -211,8 +211,8 @@ ${ commonheader(None, "jobsub", user, request) | n,unicode }
   <form id="trashWfForm" action="#" method="POST" style="margin:0">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="trashWfMessage">${_('Move the selected designs to trash?')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="trashWfMessage" class="modal-title">${_('Move the selected designs to trash?')}</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>
@@ -225,8 +225,8 @@ ${ commonheader(None, "jobsub", user, request) | n,unicode }
   <form id="destroyWfForm" action="#" method="POST" style="margin:0">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="destroyWfMessage">${_('Delete selected designs?')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="destroyWfMessage" class="modal-title">${_('Delete selected designs?')}</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>
@@ -239,8 +239,8 @@ ${ commonheader(None, "jobsub", user, request) | n,unicode }
   <form id="purgeWfForm" action="#" method="POST" style="margin:0">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="purgeWfMessage">${_('Delete all trashed designs?')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="purgeWfMessage" class="modal-title">${_('Delete all trashed designs?')}</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>
@@ -253,8 +253,8 @@ ${ commonheader(None, "jobsub", user, request) | n,unicode }
   <form id="restoreWfForm" action="#" method="POST" style="margin:0">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="restoreWfMessage">${_('Restore selected designs?')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="restoreWfMessage" class="modal-title">${_('Restore selected designs?')}</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>
@@ -265,8 +265,8 @@ ${ commonheader(None, "jobsub", user, request) | n,unicode }
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
     <div class="chooser">
@@ -278,8 +278,8 @@ ${ commonheader(None, "jobsub", user, request) | n,unicode }
 
 <div id="chooseDirectory" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Choose a directory')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a directory')}</h2>
   </div>
   <div class="modal-body">
     <div class="chooser">
@@ -291,8 +291,8 @@ ${ commonheader(None, "jobsub", user, request) | n,unicode }
 
 <div id="choosePath" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Choose a path')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a path')}</h2>
   </div>
   <div class="modal-body">
     <div class="chooser">

+ 2 - 2
apps/metastore/src/metastore/templates/confirm.mako

@@ -21,8 +21,8 @@ from django.utils.translation import ugettext as _
 <form action="{{ url }}" method="POST">>
   ${ csrf_token(request) | n,unicode }
   <div class="modal-header">
-    <a href="javascript:void(0);" class="close">&times;</a>
-    <h3>${ _('Confirm action') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Confirm action')}</h2>
   </div>
   <div class="modal-body">
     <div class="alert-message block-message warning">

+ 2 - 2
apps/metastore/src/metastore/templates/describe_partitions.mako

@@ -159,8 +159,8 @@ ${ assist.assistPanel() }
   <form id="dropPartitionForm" action="${ url('metastore:drop_partition', database=database, table=table.name) }" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="dropPartitionMessage">${_('Confirm action')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="dropPartitionMessage" class="modal-title">${_('Confirm action')}</h2>
     </div>
     <div class="modal-footer">
       <input type="button" class="btn" data-dismiss="modal" value="${_('Cancel')}" />

+ 6 - 6
apps/metastore/src/metastore/templates/metastore.mako

@@ -352,8 +352,8 @@ ${ components.menubar() }
       % endif
           ${ csrf_token(request) | n,unicode }
           <div class="modal-header">
-            <a href="#" class="close" data-dismiss="modal">&times</a>
-            <h3 id="dropDatabaseMessage">${ _('Do you really want to delete the following database(s)?') }</h3>
+            <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+            <h2 id="dropDatabaseMessage" class="modal-title">${ _('Do you really want to delete the following database(s)?') }</h2>
           </div>
           <div class="modal-body">
             <ul data-bind="foreach: selectedDatabases">
@@ -542,8 +542,8 @@ ${ components.menubar() }
       % endif
         ${ csrf_token(request) | n,unicode }
         <div class="modal-header">
-          <a href="#" class="close" data-dismiss="modal">&times;</a>
-          <h3 id="dropTableMessage">${_('Do you really want to drop the selected table(s)?')}</h3>
+          <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+          <h2 id="dropTableMessage" class="modal-title">${_('Do you really want to drop the selected table(s)?')}</h2>
         </div>
         <div class="modal-body">
           <ul data-bind="foreach: selectedTables">
@@ -1135,8 +1135,8 @@ ${ components.menubar() }
     % endif
       ${ csrf_token(request) | n,unicode }
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Drop Table')}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Drop Table')}</h2>
       </div>
       <div class="modal-body">
         <div>${_('Do you really want to drop the table')} <span style="font-weight: bold;" data-bind="text: database() && database().table() ? database().table().name : ''"></span>?</div>

+ 2 - 2
apps/metastore/src/metastore/templates/popups/load_data.mako

@@ -22,8 +22,8 @@ from django.utils.translation import ugettext as _
 <form method="POST" class="form-horizontal" id="load-data-form" onsubmit="return false;">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Import data')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Import Data')}</h2>
     </div>
     <div class="modal-body">
 

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_bundle.mako

@@ -296,8 +296,8 @@ ${ layout.menubar(section='bundles', dashboard=True) }
 
 <div id="confirmation" class="modal hide">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3 class="message"></h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title message"></h2>
   </div>
   <div class="modal-footer">
     <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_bundles.mako

@@ -144,8 +144,8 @@ ${layout.menubar(section='bundles', dashboard=True)}
 
 <div id="confirmation" class="modal hide">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3 class="message"></h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title message"></h2>
   </div>
   <div class="modal-footer">
     <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinator.mako

@@ -463,8 +463,8 @@ ${ layout.menubar(section='coordinators', dashboard=True) }
 
 <div id="confirmation" class="modal hide">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3 class="confirmation_header"></h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title confirmation_header"></h2>
   </div>
   <div id="update-coord" class="span10">
     ${ utils.render_field_no_popover(update_coord_form['endTime'], show_label=True) }

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinators.mako

@@ -166,8 +166,8 @@ ${layout.menubar(section='coordinators', dashboard=True)}
 
 <div id="confirmation" class="modal hide">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3 class="message"></h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title message"></h2>
   </div>
   <div class="modal-footer">
     <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflow.mako

@@ -347,8 +347,8 @@ ${ layout.menubar(section='workflows', dashboard=True) }
 
 <div id="confirmation" class="modal hide">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3 class="message"></h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title message"></h2>
   </div>
   <div class="modal-footer">
     <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflows.mako

@@ -156,8 +156,8 @@ ${ layout.menubar(section='workflows', dashboard=True) }
 
 <div id="confirmation" class="modal hide">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3 class="message"></h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title message"></h2>
   </div>
   <div class="modal-footer">
     <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/rerun_bundle_popup.mako

@@ -25,8 +25,8 @@
 <form action="${ action }" method="POST">
   ${ csrf_token(request) | n,unicode }
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Select coordinators to rerun') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Select coordinators to rerun') }</h2>
   </div>
 
   <div class="modal-body">

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/rerun_coord_popup.mako

@@ -25,8 +25,8 @@
 <form action="${ action }" method="POST">
   ${ csrf_token(request) | n,unicode }
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Rerun') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Rerun') }</h2>
   </div>
 
   <div class="modal-body">

+ 2 - 2
apps/oozie/src/oozie/templates/dashboard/rerun_job_popup.mako

@@ -25,8 +25,8 @@
 <form action="${ action }" method="POST">
   ${ csrf_token(request) | n,unicode }
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Select actions to rerun') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Select actions to rerun') }</h2>
   </div>
 
   <div class="modal-body">

+ 2 - 2
apps/oozie/src/oozie/templates/editor/action_utils.mako

@@ -31,8 +31,8 @@
     <form class="form-horizontal" id="${node_type}-action-form" method="POST">
       ${ csrf_token(request) | n,unicode }
       <div class="modal-header">
-        <a href="#" class="close">&times;</a>
-        <h3 class="message" data-bind="text: '${_ko('Edit Node: ')}' + name()"></h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title message" data-bind="text: '${_ko('Edit Node: ')}' + name()"></h2>
       </div>
 
       <div class="modal-content">

+ 6 - 6
apps/oozie/src/oozie/templates/editor/control_utils.mako

@@ -30,8 +30,8 @@
     <form class="form-horizontal" id="${node_type}-convert-form" method="POST">
       ${ csrf_token(request) | n,unicode }
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3 class="message" data-bind="text: '${_ko('Edit Node: ')}' + name()"></h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title message" data-bind="text: '${_ko('Edit Node: ')}' + name()"></h2>
       </div>
 
       <div class="modal-content">
@@ -64,8 +64,8 @@
     <form class="form-horizontal" id="${node_type}-action-form" method="POST">
       ${ csrf_token(request) | n,unicode }
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3 class="message" data-bind="text: '${_ko('Edit Node: ')}' + name()"></h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title message" data-bind="text: '${_ko('Edit Node: ')}' + name()"></h2>
       </div>
 
       <div class="modal-content">
@@ -104,8 +104,8 @@
     <form class="form-horizontal" id="${node_type}-action-form" method="POST">
       ${ csrf_token(request) | n,unicode }
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3 class="message" data-bind="text: '${_ko('Edit Node: ')}' + name()"></h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title message" data-bind="text: '${_ko('Edit Node: ')}' + name()"></h2>
       </div>
 
       <div class="modal-content">

+ 4 - 4
apps/oozie/src/oozie/templates/editor/edit_workflow.mako

@@ -404,8 +404,8 @@ ${ layout.menubar(section='workflows') }
 
 <div id="confirmation" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3 class="message"></h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title message"></h2>
   </div>
   <div class="modal-body">
   </div>
@@ -417,8 +417,8 @@ ${ layout.menubar(section='workflows') }
 
 <div id="runUnsaved" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('The workflow has some unsaved changes')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('The workflow has some unsaved changes')}</h2>
   </div>
   <div class="modal-body">
     <p>

+ 4 - 4
apps/oozie/src/oozie/templates/editor/list_bundles.mako

@@ -134,8 +134,8 @@ ${ layout.menubar(section='bundles') }
   <form id="trashForm" action="${ url('oozie:delete_bundle') }" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="trashMessage">${ _('Move the selected bundle(s) to trash?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="trashMessage" class="modal-title">${ _('Move the selected bundle(s) to trash?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -151,8 +151,8 @@ ${ layout.menubar(section='bundles') }
   <form id="destroyForm" action="${ url('oozie:delete_bundle') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="destroyMessage">${ _('Delete the selected bundle(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="destroyMessage" class="modal-title">${ _('Delete the selected bundle(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 4 - 4
apps/oozie/src/oozie/templates/editor/list_coordinators.mako

@@ -138,8 +138,8 @@ ${ layout.menubar(section='coordinators') }
   <form id="trashForm" action="${ url('oozie:delete_coordinator') }" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="trashMessage">${ _('Move the selected coordinator(s) to trash?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="trashMessage" class="modal-title">${ _('Move the selected coordinator(s) to trash?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -155,8 +155,8 @@ ${ layout.menubar(section='coordinators') }
   <form id="destroyForm" action="${ url('oozie:delete_coordinator') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="destroyMessage">${ _('Delete the selected coordinator(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="destroyMessage" class="modal-title">${ _('Delete the selected coordinator(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 6 - 6
apps/oozie/src/oozie/templates/editor/list_trashed_bundles.mako

@@ -98,8 +98,8 @@ ${ layout.menubar(section='bundles') }
   <form id="purgeForm" action="${ url('oozie:delete_bundle') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="purgefMessage">${ _('Delete all bundle(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="purgefMessage" class="modal-title">${ _('Delete all bundle(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -115,8 +115,8 @@ ${ layout.menubar(section='bundles') }
   <form id="destroyForm" action="${ url('oozie:delete_bundle') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="destroyMessage">${ _('Delete the selected bundle(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="destroyMessage" class="modal-title">${ _('Delete the selected bundle(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -132,8 +132,8 @@ ${ layout.menubar(section='bundles') }
   <form id="restoreForm" action="${ url('oozie:restore_bundle') }" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="restoreMessage">${ _('Restore the selected bundle(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="restoreMessage" class="modal-title">${ _('Restore the selected bundle(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 6 - 6
apps/oozie/src/oozie/templates/editor/list_trashed_coordinators.mako

@@ -98,8 +98,8 @@ ${ layout.menubar(section='coordinators') }
   <form id="purgeForm" action="${ url('oozie:delete_coordinator') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="purgeMessage">${ _('Delete all coordinator(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="purgeMessage" class="modal-title">${ _('Delete all coordinator(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -116,8 +116,8 @@ ${ layout.menubar(section='coordinators') }
   <form id="purgeForm" action="${ url('oozie:delete_coordinator') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="purgeMessage">${ _('Delete the selected coordinator(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="purgeMessage" class="modal-title">${ _('Delete the selected coordinator(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -134,8 +134,8 @@ ${ layout.menubar(section='coordinators') }
   <form id="restoreWfForm" action="${ url('oozie:restore_coordinator') }" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="restoreWfMessage">${ _('Restore the selected coordinator(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="restoreWfMessage" class="modal-title">${ _('Restore the selected coordinator(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 6 - 6
apps/oozie/src/oozie/templates/editor/list_trashed_workflows.mako

@@ -98,8 +98,8 @@ ${ layout.menubar(section='workflows') }
   <form id="destroyWfForm" action="${ url('oozie:delete_workflow') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="destroyWfMessage">${ _('Delete the selected workflow(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="destroyWfMessage" class="modal-title">${ _('Delete the selected workflow(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -115,8 +115,8 @@ ${ layout.menubar(section='workflows') }
   <form id="purgeWfsForm" action="${ url('oozie:delete_workflow') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="purgeWfsMessage">${ _('Delete all trashed workflow(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="purgeWfsMessage" class="modal-title">${ _('Delete all trashed workflow(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -132,8 +132,8 @@ ${ layout.menubar(section='workflows') }
   <form id="restoreWfForm" action="${ url('oozie:restore_workflow') }" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="restoreWfMessage">${ _('Restore the selected workflow(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="restoreWfMessage" class="modal-title">${ _('Restore the selected workflow(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 4 - 4
apps/oozie/src/oozie/templates/editor/list_workflows.mako

@@ -133,8 +133,8 @@ ${ layout.menubar(section='workflows') }
   <form id="trashWfForm" action="${ url('oozie:delete_workflow') }" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="trashWfMessage">${ _('Move the selected workflow(s) to trash?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="trashWfMessage" class="modal-title">${ _('Move the selected workflow(s) to trash?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>
@@ -150,8 +150,8 @@ ${ layout.menubar(section='workflows') }
   <form id="destroyWfForm" action="${ url('oozie:delete_workflow') }?skip_trash=true" method="POST">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="destroyWfMessage">${ _('Delete the selected workflow(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="destroyWfMessage" class="modal-title">${ _('Delete the selected workflow(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 2 - 2
apps/oozie/src/oozie/templates/editor/submit_job_popup.mako

@@ -24,8 +24,8 @@
 <form action="${ action }" method="POST">
   ${ csrf_token(request) | n,unicode }
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Submit this job?') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Submit this job?') }</h2>
   </div>
   <div class="modal-body">
     <fieldset>

+ 7 - 7
apps/oozie/src/oozie/templates/editor2/bundle_editor.mako

@@ -141,8 +141,8 @@ ${ layout.menubar(section='bundles', is_editor=True, pullright=buttons) }
 <div id="chooseCoordinatorDemiModal" class="${ is_embeddable and 'modal' or 'demi-modal' } fade" data-backdrop="false">
   %if is_embeddable:
     <div class="modal-header">
-      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-      <h3>${ _('Choose a coordinator') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Choose a coordinator') }</h2>
     </div>
   %endif
   <div class="modal-body">
@@ -175,9 +175,9 @@ ${ layout.menubar(section='bundles', is_editor=True, pullright=buttons) }
 
 
 <div id="settingsModal" class="modal hide fade">
-  <div class="modal-header" style="padding-bottom: 2px">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3 id="myModalLabel">${ _('Settings') }</h3>
+  <div class="modal-header">
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 id="myModalLabel" class="modal-title">${ _('Settings') }</h2>
   </div>
   <div class="modal-body">
       <h4>${ _('Kick off time') }</h4>
@@ -216,8 +216,8 @@ ${ layout.menubar(section='bundles', is_editor=True, pullright=buttons) }
 
 <div id="chooseFile" class="modal hide fade" style="z-index: 10000;">
   <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 id="myModalLabel" class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
       <div id="filechooser">

+ 6 - 6
apps/oozie/src/oozie/templates/editor2/common_scheduler.inc.mako

@@ -389,9 +389,9 @@ from django.utils.translation import ugettext as _
 
 <div id="chooseWorkflowDemiModal" class="${ is_embeddable and 'modal' or 'demi-modal' } fade" data-backdrop="false">
   %if is_embeddable:
-  <div class="modal-header" style="padding-bottom: 2px">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${ _('Choose a workflow') }</h3>
+  <div class="modal-header">
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 id="myModalLabel" class="modal-title">${_('Choose a workflow')}</h2>
   </div>
   %endif
   <div class="modal-body">
@@ -424,9 +424,9 @@ from django.utils.translation import ugettext as _
 </div>
 
 <div id="settingsModal" class="modal hide fade">
-  <div class="modal-header" style="padding-bottom: 2px">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3 id="myModalLabel">${ _('Coordinator Settings') }</h3>
+  <div class="modal-header">
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 id="myModalLabel" class="modal-title">${_('Coordinator Settings')}</h2>
   </div>
   <div class="modal-body">
       <h4>${ _('Submission Parameters') }</h4>

+ 2 - 2
apps/oozie/src/oozie/templates/editor2/coordinator_editor.mako

@@ -86,8 +86,8 @@ ${ scheduler.import_modals() }
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
       <div id="filechooser">

+ 2 - 2
apps/oozie/src/oozie/templates/editor2/list_editor_bundles.mako

@@ -122,8 +122,8 @@ ${ layout.menubar(section='bundles', is_editor=True) }
   <form id="deleteWfForm" method="POST" data-bind="submit: delete2">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="deleteWfMessage">${ _('Delete the selected workflow(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="deleteWfMessage" class="modal-title">${ _('Delete the selected workflow(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 2 - 2
apps/oozie/src/oozie/templates/editor2/list_editor_coordinators.mako

@@ -121,8 +121,8 @@ ${ layout.menubar(section='coordinators', is_editor=True) }
   <form id="deleteWfForm" method="POST" data-bind="submit: delete2">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="deleteWfMessage">${ _('Delete the selected coordinator(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="deleteWfMessage" class="modal-title">${ _('Delete the selected coordinator(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 2 - 2
apps/oozie/src/oozie/templates/editor2/list_editor_workflows.mako

@@ -122,8 +122,8 @@ ${ layout.menubar(section='workflows', is_editor=True) }
   <form id="deleteWfForm" method="POST" data-bind="submit: delete2">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="deleteWfMessage">${ _('Delete the selected workflow(s)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="deleteWfMessage" class="modal-title">${ _('Delete the selected workflow(s)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 7 - 7
apps/oozie/src/oozie/templates/editor2/submit_job_popup.mako

@@ -25,11 +25,11 @@
 <form action="${ action }" method="POST" class="form submit-form">
   ${ csrf_token(request) | n,unicode }
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
     % if header:
-      <h3>${header}</h3>
+      <h2 class="modal-title">${header}</h2>
     % else:
-      <h3>${ _('Submit %(job)s?') % {'job': name} }</h3>
+      <h2 class="modal-title">${ _('Submit %(job)s?') % {'job': name} }</h2>
     % endif
   </div>
   <div class="modal-body">
@@ -106,12 +106,12 @@
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
-      <div id="filechooser">
-      </div>
+    <div id="filechooser">
+    </div>
   </div>
   <div class="modal-footer">
   </div>

+ 8 - 8
apps/oozie/src/oozie/templates/editor2/workflow_editor.mako

@@ -453,8 +453,8 @@ ${ workflow.render() }
 
 <div id="settingsModal" class="modal fade hide">
   <div class="modal-header" style="padding-bottom: 2px">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${ _('Workflow Settings') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Workflow Settings') }</h2>
   </div>
   <div class="modal-body">
       <h4>${ _('Variables') }</h4>
@@ -509,8 +509,8 @@ ${ workflow.render() }
 
 <div id="historyModal" class="modal fade hide">
   <div class="modal-header" style="padding-bottom: 2px">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${ _('Submission History') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Submission History') }</h2>
   </div>
   <div class="modal-body">
     <table class="table table-condensed margin-top-20">
@@ -557,12 +557,12 @@ ${ workflow.render() }
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
-      <div id="filechooser">
-      </div>
+    <div id="filechooser">
+    </div>
   </div>
   <div class="modal-footer">
   </div>

+ 4 - 4
apps/oozie/src/oozie/templates/utils.inc.mako

@@ -326,8 +326,8 @@
 <%def name="path_chooser_libs(select_folder=False, skip_init=False)">
   <div id="chooseFile" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${ _('Choose a') } ${ if_true(select_folder, _('folder'), _('file')) }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Choose a') } ${ if_true(select_folder, _('folder'), _('file')) }</h2>
     </div>
     <div class="modal-body">
       <div id="fileChooserModal">
@@ -584,8 +584,8 @@ function renderCrons() {
 
 <div id="bulkConfirmation" class="modal hide">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Do you really want to kill the selected jobs?') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Do you really want to kill the selected jobs?') }</h2>
   </div>
   <div class="modal-footer">
     <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>

+ 21 - 21
apps/pig/src/pig/templates/app.mako

@@ -620,8 +620,8 @@ ${ commonheader(None, "pig", user, request) | n,unicode }
 
   <div id="deleteModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Confirm Delete')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Confirm Delete')}</h2>
     </div>
     <div class="modal-body">
       <p class="deleteMsg hide single">${_('Are you sure you want to delete this script?')}</p>
@@ -635,8 +635,8 @@ ${ commonheader(None, "pig", user, request) | n,unicode }
 
   <div id="logsModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Logs')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Logs')}</h2>
     </div>
     <div class="modal-body">
       <i class="fa fa-spinner fa-spin" class="hide"></i>
@@ -649,8 +649,8 @@ ${ commonheader(None, "pig", user, request) | n,unicode }
 
   <div id="submitModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Run Script')} '<span data-bind="text: currentScript().name"></span>' ${_('?')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Run Script')} '<span data-bind="text: currentScript().name"></span>' ${_('?')}</h2>
     </div>
     <div class="modal-body" data-bind="visible: submissionVariables().length > 0">
       <legend style="color:#666">${_('Script variables')}</legend>
@@ -669,8 +669,8 @@ ${ commonheader(None, "pig", user, request) | n,unicode }
 
   <div id="stopModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Stop Script')} '<span data-bind="text: currentScript().name"></span>' ${_('?')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Stop Script')} '<span data-bind="text: currentScript().name"></span>' ${_('?')}</h2>
     </div>
     <div class="modal-footer">
       <a class="btn" data-dismiss="modal">${_('No')}</a>
@@ -679,22 +679,22 @@ ${ commonheader(None, "pig", user, request) | n,unicode }
   </div>
 
   <div id="chooseFile" class="modal hide fade">
-      <div class="modal-header">
-          <a href="#" class="close" data-dismiss="modal">&times;</a>
-          <h3>${_('Choose a file')}</h3>
-      </div>
-      <div class="modal-body">
-          <div id="filechooser">
-          </div>
-      </div>
-      <div class="modal-footer">
+    <div class="modal-header">
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Choose a file')}</h2>
+    </div>
+    <div class="modal-body">
+      <div id="filechooser">
       </div>
+    </div>
+    <div class="modal-footer">
+    </div>
   </div>
 
   <div id="confirmModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Are you sure?')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Are you sure?')}</h2>
     </div>
     <div class="modal-body">
       <p>
@@ -709,8 +709,8 @@ ${ commonheader(None, "pig", user, request) | n,unicode }
 
   <div id="nameModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Save script')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Save script')}</h2>
     </div>
     <div class="modal-body">
       <p>

+ 2 - 2
apps/rdbms/src/rdbms/templates/execute.mako

@@ -172,8 +172,8 @@ ${ commonheader(_('Query'), app_name, user, request) | n,unicode }
 
   <div id="saveAsQueryModal" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Save your query')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Save your query')}</h2>
     </div>
     <div class="modal-body">
       <form class="form-horizontal">

+ 2 - 2
apps/security/src/security/templates/hdfs.mako

@@ -200,8 +200,8 @@ ${ layout.menubar(section='hdfs') }
 
 <div id="bulkActionsModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Select one operation') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Select one operation')}</h2>
   </div>
   <div class="modal-body" style="overflow-x: hidden">
 

+ 15 - 16
apps/security/src/security/templates/hive.mako

@@ -375,12 +375,11 @@ ${ layout.menubar(section='hive1') }
 
 <div id="createRoleModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3 data-bind="visible: ! $root.role().isEditing()">${ _('Add or select a role') }</h3>
-    <h3 data-bind="visible: $root.role().isEditing()">${ _('Edit role') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title" data-bind="visible: !$root.role().isEditing()">${ _('Add or select a role') }</h2>
+    <h2 class="modal-title" data-bind="visible: $root.role().isEditing()">${ _('Edit role') }</h2>
   </div>
   <div class="modal-body" data-bind="with: $root.role, visible: showCreateRole">
-
     <div class="row-fluid">
       <div class="span6">
         <h4>${ _('Name') }</h4>
@@ -409,8 +408,8 @@ ${ layout.menubar(section='hive1') }
 
 <div id="grantPrivilegeModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${ _('Grant privilege') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Grant privilege') }</h2>
   </div>
   <div class="modal-body">
 
@@ -433,8 +432,8 @@ ${ layout.menubar(section='hive1') }
 
 <div id="deleteRoleModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Do you really want to delete the selected role(s)?') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Do you really want to delete the selected role(s)?') }</h2>
   </div>
   <div class="modal-footer">
     <button class="btn" data-dismiss="modal" aria-hidden="true">${ _('Cancel') }</button>
@@ -445,8 +444,8 @@ ${ layout.menubar(section='hive1') }
 
 <div id="deletePrivilegeModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Confirm the deletion?') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Confirm the deletion?') }</h2>
   </div>
   <div class="modal-body">
     ${ _('Sentry will recursively delete the SERVER or DATABASE privileges you marked for deletion.') }
@@ -460,8 +459,8 @@ ${ layout.menubar(section='hive1') }
 
 <div id="bulkActionsModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Select one operation') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Select one operation') }</h2>
   </div>
   <div class="modal-body" style="overflow-x: hidden">
 
@@ -529,12 +528,12 @@ ${ layout.menubar(section='hive1') }
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
-      <div id="filechooser">
-      </div>
+    <div id="filechooser">
+    </div>
   </div>
   <div class="modal-footer">
   </div>

+ 15 - 15
apps/security/src/security/templates/sentry.mako

@@ -430,9 +430,9 @@ ${ layout.menubar(section=component) }
 
 <div id="createRoleModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3 data-bind="visible: ! $root.role().isEditing()">${ _('Add or select a role') }</h3>
-    <h3 data-bind="visible: $root.role().isEditing()">${ _('Edit role') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title" data-bind="visible: ! $root.role().isEditing()">${ _('Add or select a role') }</h2>
+    <h2 class="modal-title" data-bind="visible: $root.role().isEditing()">${ _('Edit role') }</h2>
   </div>
   <div class="modal-body" data-bind="with: $root.role, visible: showCreateRole">
 
@@ -464,8 +464,8 @@ ${ layout.menubar(section=component) }
 
 <div id="grantPrivilegeModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${ _('Grant privilege') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Grant privilege') }</h2>
   </div>
   <div class="modal-body">
 
@@ -488,8 +488,8 @@ ${ layout.menubar(section=component) }
 
 <div id="deleteRoleModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Do you really want to delete the selected role(s)?') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Do you really want to delete the selected role(s)?') }</h2>
   </div>
   <div class="modal-footer">
     <button class="btn" data-dismiss="modal" aria-hidden="true">${ _('Cancel') }</button>
@@ -500,8 +500,8 @@ ${ layout.menubar(section=component) }
 
 <div id="deletePrivilegeModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Confirm the deletion?') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Confirm the deletion?') }</h2>
   </div>
   <div class="modal-body">
     ${ _('Sentry will recursively delete the SERVER or DATABASE privileges you marked for deletion.') }
@@ -515,8 +515,8 @@ ${ layout.menubar(section=component) }
 
 <div id="bulkActionsModal" class="modal hide fade in" role="dialog">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${ _('Select one operation') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Select one operation') }</h2>
   </div>
   <div class="modal-body" style="overflow-x: hidden">
 
@@ -584,12 +584,12 @@ ${ layout.menubar(section=component) }
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
-      <div id="filechooser">
-      </div>
+    <div id="filechooser">
+    </div>
   </div>
   <div class="modal-footer">
   </div>

+ 6 - 6
apps/sqoop/src/sqoop/templates/app.mako

@@ -286,8 +286,8 @@ ${ commonheader(None, "sqoop", user, request) | n,unicode }
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Choose a folder')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a folder')}</h2>
   </div>
   <div class="modal-body">
     <div id="filechooser"></div>
@@ -297,8 +297,8 @@ ${ commonheader(None, "sqoop", user, request) | n,unicode }
 
 <script type="text/html" id="delete-job-modal">
 <div class="modal-header">
-  <a href="javascript:void(0);" class="close" data-dismiss="modal">&times;</a>
-  <h3 class="message">${_("Are you sure you'd like to delete this job?") }</h3>
+  <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+  <h2 class="modal-title">${_("Are you sure you'd like to delete this job?") }</h2>
 </div>
 <div class="modal-body"></div>
 <div class="modal-footer" data-bind="if: $root.job">
@@ -309,8 +309,8 @@ ${ commonheader(None, "sqoop", user, request) | n,unicode }
 
 <script type="text/html" id="delete-link-modal">
 <div class="modal-header">
-  <a href="javascript:void(0);" class="close" data-dismiss="modal">&times;</a>
-  <h3 class="message">${_("Are you sure you'd like to delete this link?") }</h3>
+  <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+  <h2 class="modal-title">${_("Are you sure you'd like to delete this link?") }</h2>
 </div>
 <div class="modal-body"></div>
 <div class="modal-footer" data-bind="if: $root.link">

+ 2 - 2
apps/useradmin/src/useradmin/templates/list_groups.mako

@@ -107,8 +107,8 @@ ${layout.menubar(section='groups')}
     <form action="${ url('useradmin.views.delete_group') }" method="POST">
       ${ csrf_token(request) | n,unicode }
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_("Are you sure you want to delete the selected group(s)?")}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_("Are you sure you want to delete the selected group(s)?")}</h2>
       </div>
       <div class="modal-footer">
         <a href="javascript:void(0);" class="btn" data-dismiss="modal">${_('No')}</a>

+ 2 - 2
apps/useradmin/src/useradmin/templates/list_users.mako

@@ -121,8 +121,8 @@ ${layout.menubar(section='users')}
     <form action="${ url('useradmin.views.delete_user') }" method="POST">
       ${ csrf_token(request) | n,unicode }
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${ _("Are you sure you want to delete the selected user(s)?") }</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${ _("Are you sure you want to delete the selected user(s)?") }</h2>
       </div>
       <div class="modal-footer">
         <a href="#" class="btn" data-dismiss="modal">${_('No')}</a>

+ 2 - 2
apps/useradmin/src/useradmin/templates/sync_ldap_users_groups.mako

@@ -36,8 +36,8 @@ from django.utils.translation import ugettext as _
 <form action="${path}" method="POST" class="form form-horizontal">
   ${ csrf_token(request) | n,unicode }
   <div class="modal-header left">
-    <button type="button" class="close" data-dismiss="modal">&times;</button>
-    <h3>${_('Sync LDAP users and groups')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Sync LDAP users and groups')}</h2>
   </div>
   <div class="modal-body">
     <div class="alert alert-info left">

+ 2 - 2
apps/zookeeper/src/zookeeper/templates/tree.mako

@@ -115,8 +115,8 @@ ${ shared.footer() }
 
 <div id="removeModal" class="modal hide fade">
   <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${ _('Delete Znode?') }</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${ _('Delete Znode?') }</h2>
   </div>
   <div class="modal-body">
     <p class="question"></p>

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
desktop/core/src/desktop/static/desktop/css/hue.css


+ 0 - 15
desktop/core/src/desktop/static/desktop/css/hue3.css

@@ -1151,7 +1151,6 @@ div.locked {
   color: #bce8f1;
 }
 
-
 .empty-wrapper {
   margin-top: 50px;
   color: #BBB;
@@ -1232,10 +1231,6 @@ a#advanced-btn:hover {
   line-height: 16px;
 }
 
-.modal form {
-  margin: 0;
-}
-
 /*
  * jHueTableExtender
  */
@@ -1570,11 +1565,6 @@ a#advanced-btn:hover {
     line-height: 28px;
 }
 
-.modal {
-  padding: 25px 20px!important;
-  margin-left: -290px!important;
-}
-
 #jHueTourVideoPlayer {
   margin-left: -320px!important;
   width: 640px;
@@ -2055,11 +2045,6 @@ input.no-margin, select.no-margin {
   font-weight: bold;
 }
 
-.modal-header .close {
-  position: inherit;
-  margin-top: -10px;
-}
-
 .margin-top-5 {
   margin-top: 5px;
 }

+ 2 - 2
desktop/core/src/desktop/static/desktop/js/bootstrap-wysihtml5-0.0.2.js

@@ -62,7 +62,7 @@
         "<div class='bootstrap-wysihtml5-insert-link-modal modal hide fade'>" +
         "<div class='modal-header'>" +
         "<a class='close' data-dismiss='modal'>&times;</a>" +
-        "<h3>" + locale.link.insert + "</h3>" +
+        "<h2 class='modal-title'>" + locale.link.insert + "</h2>" +
         "</div>" +
         "<div class='modal-body'>" +
         "<input value='http://' class='bootstrap-wysihtml5-insert-link-url input-xlarge'>" +
@@ -82,7 +82,7 @@
         "<div class='bootstrap-wysihtml5-insert-image-modal modal hide fade'>" +
         "<div class='modal-header'>" +
         "<a class='close' data-dismiss='modal'>&times;</a>" +
-        "<h3>" + locale.image.insert + "</h3>" +
+        "<h2 class='modal-title'>" + locale.image.insert + "</h2>" +
         "</div>" +
         "<div class='modal-body'>" +
         "<input value='http://' class='bootstrap-wysihtml5-insert-image-url input-xlarge'>" +

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/jquery.tour.js

@@ -379,7 +379,7 @@
       if ($("#jHueTourVideoPlayer").length == 0) {
         var _playerHTML = '<div class="modal-header">' +
             '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>' +
-            '<h3>' + _this.currentTour.desc + '</h3>' +
+            '<h2 class="modal-title">' + _this.currentTour.desc + '</h2>' +
             '</div>' +
             '<div class="modal-body">' +
             '<iframe id="jHueTourVideoFrame" src="' + _this.currentTour.video + '?autoplay=1" width="700" height="350" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" style="height:360px;width:640px"></iframe><div class="moreInfo">' +

+ 17 - 0
desktop/core/src/desktop/static/desktop/less/hue-cross-version.less

@@ -1,3 +1,20 @@
+/*
+ Licensed to Cloudera, Inc. under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  Cloudera, Inc. licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
 @import (reference) "cui/colors.less";
 @import (reference) "hue-attributes.less";
 

+ 17 - 0
desktop/core/src/desktop/static/desktop/less/hue-cui-overrides.less

@@ -1,3 +1,20 @@
+/*
+ Licensed to Cloudera, Inc. under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  Cloudera, Inc. licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
 .container-fluid {
   border-left: none;
   border-right: none;

+ 1 - 1
desktop/core/src/desktop/static/desktop/less/hue.less

@@ -70,7 +70,7 @@ body {
 .top-nav {
   .display-flex;
   position: relative;
-  z-index: 1049;
+  z-index: 1039;
 }
 
 .top-nav-left {

+ 17 - 0
desktop/core/src/desktop/static/desktop/less/hue3-extra.less

@@ -1,3 +1,20 @@
+/*
+ Licensed to Cloudera, Inc. under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  Cloudera, Inc. licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
 @import (reference) "cui/colors.less";
 @import (reference) "hue-attributes.less";
 

+ 2 - 2
desktop/core/src/desktop/templates/common_home.mako

@@ -149,8 +149,8 @@
 <%def name="tour()">
 <div id="jHueTourModal" class="modal hide fade" tabindex="-1">
   <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${_('Did you know?')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Did you know?')}</h2>
   </div>
   <div class="modal-body">
     <ul class="nav nav-tabs" style="margin-bottom: 0">

+ 4 - 4
desktop/core/src/desktop/templates/common_import_export.mako

@@ -29,8 +29,8 @@ from django.utils.translation import ugettext as _
 
 <div id="import-documents" class="modal hide fade fileupload-modal">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal" data-clear="fileupload">&times;</a>
-    <h3>${_('Import Hue documents')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Import Hue documents')}</h2>
   </div>
   <div class="modal-body form-inline">
     <div class="pull-right">
@@ -53,8 +53,8 @@ from django.utils.translation import ugettext as _
 
 <div id="import-document-data" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Import Hue documents')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Import Hue documents')}</h2>
   </div>
   <div class="modal-body">
     <div class="center" style="display: none;" data-bind="visible: importedDocumentCount() == 0">

+ 6 - 6
desktop/core/src/desktop/templates/common_notebook_ko_components.mako

@@ -52,8 +52,8 @@ except ImportError, e:
 
     <div id="addSnippetModal" class="modal hide fade">
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${ _('Add Snippet') }</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${ _('Add Snippet') }</h2>
       </div>
       <div class="modal-body" style="min-height: 100px">
         <ul class="snippet-list-alts" data-bind="foreach: availableSnippets">
@@ -212,8 +212,8 @@ except ImportError, e:
       </div>
 
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Save query result in a')}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Save query result in a')}</h2>
       </div>
       <div class="modal-body" style="padding: 4px">
         <form id="saveResultsForm" method="POST" class="form form-inline">
@@ -284,10 +284,10 @@ except ImportError, e:
     <div id="downloadProgressModal" class="modal hide fade">
       <div class="modal-header">
         <!-- ko if: isDownloading -->
-        <h3>${_('Your download is being prepared')}</h3>
+        <h2 class="modal-title">${_('Your download is being prepared')}</h2>
         <!-- /ko -->
         <!-- ko if: downloadTruncated -->
-        <h3>${_('Your downloaded results have been truncated')}</h3>
+        <h2 class="modal-title">${_('Your downloaded results have been truncated')}</h2>
         <!-- /ko -->
       </div>
       <div class="modal-body" style="padding: 4px">

+ 2 - 2
desktop/core/src/desktop/templates/common_share.mako

@@ -20,8 +20,8 @@ from django.utils.translation import ugettext as _
 <div id="documentShareModal" class="modal hide fade">
   <!-- ko if: selectedDoc() -->
   <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${_('Sharing settings')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Sharing settings')}</h2>
   </div>
   <div class="modal-body">
     <div class="row-fluid">

+ 2 - 2
desktop/core/src/desktop/templates/common_share2.mako

@@ -20,8 +20,8 @@ from django.utils.translation import ugettext as _
 <div id="documentShareModal" class="modal hide fade">
   <!-- ko if: selectedDoc() -->
   <div class="modal-header">
-    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-    <h3>${_('Sharing settings')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Sharing settings')}</h2>
   </div>
   <div class="modal-body">
     <div class="row-fluid">

+ 2 - 2
desktop/core/src/desktop/templates/config_ko_components.mako

@@ -350,8 +350,8 @@ from desktop.views import _ko
 
   <div id="chooseFile" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Choose a file')}</h2>
     </div>
     <div class="modal-body">
       <div id="filechooser">

+ 15 - 14
desktop/core/src/desktop/templates/document_browser.mako

@@ -355,8 +355,8 @@ from desktop.views import _ko
       <!-- ko with: selectedEntry -->
       <!-- ko with: document -->
       <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>${_('Sharing')} - <span data-bind="text: $parent.definition().name"></span></h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Sharing')} - <span data-bind="text: $parent.definition().name"></span></h2>
       </div>
       <div class="modal-body" style="overflow-y: visible">
         <!-- ko with: definition -->
@@ -423,8 +423,8 @@ from desktop.views import _ko
     <div id="importDocumentsModal" data-keyboard="true" class="modal hide fade fileupload-modal" tabindex="-1">
       <!-- ko with: activeEntry -->
       <div class="modal-header">
-        <a href="#" class="close" data-clear="importDocumentsForm" data-bind="click: closeUploadModal">&times;</a>
-        <h3>${_('Import Hue documents')}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Import Hue documents')}</h2>
       </div>
         <form id="importDocumentsForm" class="form-horizontal" style="display: inline" enctype="multipart/form-data">
           <div class="modal-body">
@@ -463,8 +463,8 @@ from desktop.views import _ko
     <div id="importDocumentData" data-keyboard="true" class="modal hide fade" tabindex="-1">
       <!-- ko with: activeEntry -->
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Import Hue documents')}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Import Hue documents')}</h2>
       </div>
       <div class="modal-body">
         <div class="center" style="display: none;" data-bind="visible: importedDocumentCount() == 0">
@@ -511,8 +511,8 @@ from desktop.views import _ko
       <!-- ko with: activeEntry -->
       <form class="form-horizontal">
         <div class="modal-header">
-          <button type="button" class="close" data-dismiss="modal" data-bind="click: function () { $('#newDirectoryName').val(null) }" aria-hidden="true">&times;</button>
-          <h3>${_('Create Directory')}</h3>
+          <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+          <h2 class="modal-title">${_('Create Directory')}</h2>
         </div>
         <div class="modal-body ">
           <input id="newDirectoryName" class="input large-as-modal" type="text" placeholder="${ _('Directory name') }" />
@@ -529,8 +529,8 @@ from desktop.views import _ko
       <!-- ko with: activeEntry -->
       <form class="form-horizontal">
         <div class="modal-header">
-          <button type="button" class="close" data-dismiss="modal" data-bind="click: function () { $('#renameDirectoryName').val(null) }" aria-hidden="true">&times;</button>
-          <h3>${_('Rename Directory')}</h3>
+          <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+          <h2 class="modal-title">${_('Rename Directory')}</h2>
         </div>
         <div class="modal-body ">
           <input id="renameDirectoryName" class="input large-as-modal" type="text" placeholder="${ _('Directory name') }" />
@@ -546,8 +546,9 @@ from desktop.views import _ko
     <div id="restoreFromTrashModal" data-keyboard="true" class="modal hide fade" tabindex="-1">
       <!-- ko with: activeEntry -->
       <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
         <!-- ko if: selectedEntries().length > 0 -->
-        <h3> ${ _('Restore these document(s) to Home directory?') } </h3>
+        <h2 class="modal-title">${ _('Restore these document(s) to Home directory?') }</h2>
         <!-- /ko -->
       </div>
       <div class="modal-body">
@@ -565,12 +566,12 @@ from desktop.views import _ko
     <div id="deleteEntriesModal" data-keyboard="true" class="modal hide fade" tabindex="-1">
       <!-- ko with: activeEntry -->
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times</a>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
         <!-- ko if: entriesToDelete().length === 0 -->
-        <h3>${ _('The trash is empty') }</h3>
+        <h2 class="modal-title">${ _('The trash is empty') }</h2>
         <!-- /ko -->
         <!-- ko if: entriesToDelete().length > 0 -->
-        <h3> ${ _('Do you really want to delete the following document(s)?') } </h3>
+        <h2 class="modal-title"> ${ _('Do you really want to delete the following document(s)?') } </h2>
         <!-- /ko -->
       </div>
       <div class="modal-body">

+ 67 - 67
desktop/core/src/desktop/templates/home.mako

@@ -226,27 +226,27 @@ ${ commonheader(_('Welcome Home'), "home", user, request) | n,unicode }
 
   <div id="documentMoveModal" class="modal fade hide">
     <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Move to a project')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Move to a project')}</h2>
     </div>
     <div class="modal-body">
-        <p>
-          ${_('Select the project you want to move this document to')}
-          <ul class="unstyled">
-            <!-- ko foreach: myTags -->
-              <li>
-                <a href="javascript:void(0)" style="padding-left: 4px" data-bind="click: moveDocFinal">
-                  <i class="fa fa-tag"></i> <span data-bind="text: name"></span>
-                </a>
-              </li>
-            <!-- /ko -->
-          </ul>
-        </p>
+      <p>
+        ${_('Select the project you want to move this document to')}
+        <ul class="unstyled">
+          <!-- ko foreach: myTags -->
+            <li>
+              <a href="javascript:void(0)" style="padding-left: 4px" data-bind="click: moveDocFinal">
+                <i class="fa fa-tag"></i> <span data-bind="text: name"></span>
+              </a>
+            </li>
+          <!-- /ko -->
+        </ul>
+      </p>
     </div>
     <div class="modal-footer">
-        <a class="btn" data-dismiss="modal">${_('Cancel')}</a>
+      <a class="btn" data-dismiss="modal">${_('Cancel')}</a>
     </div>
-</div>
+  </div>
 
 </div>
 
@@ -300,8 +300,8 @@ ${ commonheader(_('Welcome Home'), "home", user, request) | n,unicode }
 <div id="addTagModal" class="modal hide fade">
   <form class="form-inline form-padding-fix" onsubmit="javascript:{return false;}">
     <div class="modal-header">
-      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-      <h3>${_('Create project')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Create project')}</h2>
     </div>
     <div class="modal-body">
       <p>
@@ -321,17 +321,17 @@ ${ commonheader(_('Welcome Home'), "home", user, request) | n,unicode }
 </div>
 
 <div id="removeTagModal" class="modal hide fade">
-    <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Confirm Delete')}</h3>
-    </div>
-    <div class="modal-body">
-        <p>${_('Are you sure you want to delete the project')} <strong><span data-bind="text: selectedTagForDelete().name"></span></strong>? ${_('All its documents will be moved to the default tag.')}</p>
-    </div>
-    <div class="modal-footer">
-        <a class="btn" data-dismiss="modal">${_('No')}</a>
-        <a id="tagRemoveBtn" class="pointer btn btn-danger disable-feedback">${_('Yes')}</a>
-    </div>
+  <div class="modal-header">
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Confirm Delete')}</h2>
+  </div>
+  <div class="modal-body">
+    <p>${_('Are you sure you want to delete the project')} <strong><span data-bind="text: selectedTagForDelete().name"></span></strong>? ${_('All its documents will be moved to the default tag.')}</p>
+  </div>
+  <div class="modal-footer">
+    <a class="btn" data-dismiss="modal">${_('No')}</a>
+    <a id="tagRemoveBtn" class="pointer btn btn-danger disable-feedback">${_('Yes')}</a>
+  </div>
 </div>
 
 ${ commonshare() | n,unicode }
@@ -551,34 +551,34 @@ $(document).ready(function(){
 
   <div id="jHueTourModal" class="modal hide fade" tabindex="-1">
     <div class="modal-header">
-      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-      <h3>${_('Did you know?')}</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${_('Did you know?')}</h2>
     </div>
     <div class="modal-body">
-     <div class="row-fluid">
-       <div id="properties" class="section">
-      <ul class="nav nav-tabs" style="margin-bottom: 0">
-        <li class="active"><a href="#tourStep1" class="tourStep">${ _('Step 1:') } ${ _('Add data') }</a></li>
-        <li><a href="#tourStep2" class="tourStep">${ _('Step 2:') }  ${ _('Query data') }</a></li>
-        <li><a id="tourLastStep" href="#tourStep3" class="tourStep">${ _('Step 3:') } ${_('Do more!') }</a></li>
-      </ul>
-    </div>
+      <div class="row-fluid">
+        <div id="properties" class="section">
+          <ul class="nav nav-tabs" style="margin-bottom: 0">
+            <li class="active"><a href="#tourStep1" class="tourStep">${ _('Step 1:') } ${ _('Add data') }</a></li>
+            <li><a href="#tourStep2" class="tourStep">${ _('Step 2:') }  ${ _('Query data') }</a></li>
+            <li><a id="tourLastStep" href="#tourStep3" class="tourStep">${ _('Step 3:') } ${_('Do more!') }</a></li>
+          </ul>
+        </div>
 
-    <div class="tourSteps">
-      <div id="tourStep1" class="tourStepDetails">
-        <div class="pull-left" style="color: #DDDDDD;font-size: 116px;margin: 10px; margin-right: 20px"><i class="fa fa-download"></i></div>
-        <div style="margin: 40px">
-          <p>
-            ${ _('With') }  <span class="badge badge-info"><i class="fa fa-file"></i> File Browser</span>
-            ${ _('and the apps in the') }  <span class="badge badge-info">Data Browsers <b class="caret"></b></span> ${ _('section, upload, view your data and create tables.') }
-          </p>
-          <p>
-            ${ _('Pre-installed samples are also already there.') }
-          </p>
+        <div class="tourSteps">
+        <div id="tourStep1" class="tourStepDetails">
+          <div class="pull-left" style="color: #DDDDDD;font-size: 116px;margin: 10px; margin-right: 20px"><i class="fa fa-download"></i></div>
+          <div style="margin: 40px">
+            <p>
+              ${ _('With') }  <span class="badge badge-info"><i class="fa fa-file"></i> File Browser</span>
+              ${ _('and the apps in the') }  <span class="badge badge-info">Data Browsers <b class="caret"></b></span> ${ _('section, upload, view your data and create tables.') }
+            </p>
+            <p>
+              ${ _('Pre-installed samples are also already there.') }
+            </p>
+          </div>
         </div>
-      </div>
 
-      <div id="tourStep2" class="tourStepDetails hide">
+        <div id="tourStep2" class="tourStepDetails hide">
           <div class="pull-left" style="color: #DDDDDD;font-size: 116px;margin: 10px; margin-right: 20px"><i class="fa fa-search"></i></div>
           <div style="margin: 40px">
             <p>
@@ -586,25 +586,25 @@ $(document).ready(function(){
                ${ _('and') }  <span class="badge badge-info">Search <b class="caret"></b></span>
             </p>
           </div>
-      </div>
+        </div>
 
-      <div id="tourStep3" class="tourStepDetails hide">
-        <div class="pull-left" style="color: #DDDDDD;font-size: 116px;margin: 10px; margin-right: 20px"><i class="fa fa-flag-checkered"></i></div>
-        <div style="margin: 40px">
-          % if tours_and_tutorials:
-          <p>
-            ${ _('Tours were created to guide you around.') }
-            ${ _('You can see the list of tours by clicking on the checkered flag icon') } <span class="badge badge-info"><i class="fa fa-flag-checkered"></i></span>
-            ${ ('at the top right of this page.') }
-          </p>
-          % endif
-          <p>
-            ${ _('Additional documentation is available at') } <a href="http://learn.gethue.com">learn.gethue.com</a>.
-          </p>
+        <div id="tourStep3" class="tourStepDetails hide">
+          <div class="pull-left" style="color: #DDDDDD;font-size: 116px;margin: 10px; margin-right: 20px"><i class="fa fa-flag-checkered"></i></div>
+          <div style="margin: 40px">
+            % if tours_and_tutorials:
+            <p>
+              ${ _('Tours were created to guide you around.') }
+              ${ _('You can see the list of tours by clicking on the checkered flag icon') } <span class="badge badge-info"><i class="fa fa-flag-checkered"></i></span>
+              ${ ('at the top right of this page.') }
+            </p>
+            % endif
+            <p>
+              ${ _('Additional documentation is available at') } <a href="http://learn.gethue.com">learn.gethue.com</a>.
+            </p>
+          </div>
         </div>
       </div>
      </div>
-     </div>
      <div class="modal-footer">
        <label class="checkbox" style="float:left"><input id="jHueTourModalChk" type="checkbox" />${_('Do not show this dialog again')}</label>
        <a id="jHueTourModalClose" href="#" class="btn btn-primary disable-feedback">${_('Got it, prof!')}</a>

+ 2 - 2
desktop/core/src/desktop/templates/ko_components.mako

@@ -239,8 +239,8 @@ from desktop.views import _ko
 
     <div id="clearNotificationHistoryModal" class="modal hide fade">
       <div class="modal-header">
-        <a href="#" class="close" data-dismiss="modal">&times;</a>
-        <h3>${_('Confirm History Clearing')}</h3>
+        <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+        <h2 class="modal-title">${_('Confirm History Clearing')}</h2>
       </div>
       <div class="modal-body">
         <p>${_('Are you sure you want to clear the task history?')}</p>

+ 2 - 2
desktop/libs/dashboard/src/dashboard/templates/common_admin_collections.mako

@@ -144,8 +144,8 @@
 
 <div id="deleteModal" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Confirm Delete')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Confirm Delete')}</h2>
   </div>
   <div class="modal-body">
     <p>${_('Are you sure you want to delete the selected dashboards?')}</p>

+ 6 - 6
desktop/libs/indexer/src/indexer/templates/collections.mako

@@ -87,8 +87,8 @@ ${ commonheader(_('Search Indexes'), "indexer", user, request, "29px") | n,unico
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
     <div id="filechooser">
@@ -101,8 +101,8 @@ ${ commonheader(_('Search Indexes'), "indexer", user, request, "29px") | n,unico
 
 <div data-bind="with: manage" id="deleteCollections" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Do you really want to delete the following index(es)?')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Do you really want to delete the following index(es)?')}</h2>
   </div>
   <div class="modal-body">
     <ul data-bind="foreach: selectedCloudCollections">
@@ -119,8 +119,8 @@ ${ commonheader(_('Search Indexes'), "indexer", user, request, "29px") | n,unico
 <div data-bind="with: edit" id="deleteCollection" class="modal hide fade">
   <!-- ko if: collection() -->
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Confirm Delete')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Confirm Delete')}</h2>
   </div>
   <div class="modal-body">
     ${ _('Are you sure you want to delete the index')} <strong data-bind="text: collection().name"></strong> ?

+ 4 - 4
desktop/libs/indexer/src/indexer/templates/importer.mako

@@ -324,8 +324,8 @@ ${ assist.assistPanel() }
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
     <div id="filechooser"></div>
@@ -768,8 +768,8 @@ ${ assist.assistPanel() }
 
   <div id="fieldsBulkEditor" class="modal hide fade">
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${ _('Write or paste comma separated field names') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 class="modal-title">${ _('Write or paste comma separated field names') }</h2>
     </div>
     <div class="modal-body">
       <input type="text" class="input-xxlarge" placeholder="${ _('e.g. id, name, salary') }" data-bind="textInput: createWizard.destination.bulkColumnNames">

+ 2 - 2
desktop/libs/indexer/src/indexer/templates/indexer.mako

@@ -174,8 +174,8 @@ ${ assist.assistPanel() }
 
 <div id="chooseFile" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
     <div id="filechooser"></div>

+ 2 - 2
desktop/libs/indexer/src/indexer/templates/indexes.mako

@@ -205,8 +205,8 @@ ${ commonheader(_("Solr Indexes"), "search", user, request, "60px") | n,unicode
   <form id="deleteIndexForm" method="POST" data-bind="submit: deleteIndexes">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3 id="deleteIndexMessage">${ _('Delete the selected index(es)?') }</h3>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+      <h2 id="deleteIndexMessage" class="modal-title">${ _('Delete the selected index(es)?') }</h2>
     </div>
     <div class="modal-footer">
       <a href="#" class="btn" data-dismiss="modal">${ _('No') }</a>

+ 24 - 24
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -395,8 +395,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="detailsModal" class="modal transparent-modal hide" data-backdrop="true" style="width:980px;margin-left:-510px!important">
   <div class="modal-header">
-    <a data-dismiss="modal" class="pointer pull-right"><i class="fa fa-times"></i></a>
-    <h3>${_('Row details')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Row details')}</h2>
   </div>
   <div class="modal-body">
     <table class="table table-striped table-condensed">
@@ -407,8 +407,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="helpModal" class="modal transparent-modal hide" data-backdrop="true" style="width:980px;margin-left:-510px!important">
   <div class="modal-header">
-    <a data-dismiss="modal" class="pointer pull-right"><i class="fa fa-times"></i></a>
-    <h3>${_('Editor keyboard shortcuts')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Editor keyboard shortcuts')}</h2>
   </div>
   <div class="modal-body">
     <!-- ko component: 'aceKeyboardShortcuts' --><!-- /ko -->
@@ -420,8 +420,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="combinedContentModal" class="modal hide" data-backdrop="true" style="width:780px;margin-left:-410px!important">
   <div class="modal-header">
-    <a href="javascript: void(0)" data-dismiss="modal" class="pull-right"><i class="fa fa-times"></i></a>
-    <h3>${_('All Notebook content')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('All Notebook content')}</h2>
   </div>
   <div class="modal-body">
     <pre data-bind="oneClickSelect, text: combinedContent"></pre>
@@ -433,8 +433,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="importGithubModal" class="modal hide" data-backdrop="true" style="width:780px;margin-left:-410px!important">
   <div class="modal-header">
-    <a href="javascript: void(0)" data-dismiss="modal" class="pull-right"><i class="fa fa-times"></i></a>
-    <h3>${_('Import from Github')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Import from Github')}</h2>
   </div>
   <div class="modal-body">
     <div class="input-prepend">
@@ -451,8 +451,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 % if ENABLE_QUERY_BUILDER.get():
 <div id="invalidQueryBuilder" class="modal hide">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Invalid Query')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Invalid Query')}</h2>
   </div>
   <div class="modal-body">
     <p>${_('Query requires a select or an aggregate.')}</p>
@@ -1815,12 +1815,12 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="chooseFile" class="modal hide fade" style="z-index: 10000;" tabindex="-1">
   <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
-      <h3>${_('Choose a file')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Choose a file')}</h2>
   </div>
   <div class="modal-body">
-      <div id="filechooser">
-      </div>
+    <div id="filechooser">
+    </div>
   </div>
   <div class="modal-footer">
   </div>
@@ -1837,8 +1837,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="removeSnippetModal" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Confirm Remove')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Confirm Remove')}</h2>
   </div>
   <div class="modal-body">
     <p>${_('Are you sure you want to remove this snippet?')}</p>
@@ -1862,12 +1862,12 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="saveAsModal" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
     <!-- ko if: $root.editorMode() -->
-      <h3>${_('Save query as...')}</h3>
+    <h2 class="modal-title">${_('Save query as...')}</h2>
     <!-- /ko -->
     <!-- ko ifnot: $root.editorMode() -->
-      <h3>${_('Save notebook as...')}</h3>
+    <h2 class="modal-title">${_('Save notebook as...')}</h2>
     <!-- /ko -->
   </div>
 
@@ -1898,8 +1898,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="authModal" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Connect to the data source')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Connect to the data source')}</h2>
   </div>
   <div class="modal-body">
     <div class="row-fluid">
@@ -1926,8 +1926,8 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
 
 <div id="clearHistoryModal" class="modal hide fade">
   <div class="modal-header">
-    <a href="#" class="close" data-dismiss="modal">&times;</a>
-    <h3>${_('Confirm History Clear')}</h3>
+    <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+    <h2 class="modal-title">${_('Confirm History Clear')}</h2>
   </div>
   <div class="modal-body">
     <p>${_('Are you sure you want to clear the query history?')}</p>
@@ -1942,7 +1942,7 @@ from notebook.conf import ENABLE_QUERY_BUILDER, ENABLE_QUERY_SCHEDULING, ENABLE_
   <!-- ko with: $root.selectedNotebook() -->
   <div id="retryModal" class="modal hide fade" data-keyboard="false" data-backdrop="static">
     <div class="modal-header">
-      <h3>${_('Operation timed out')}</h3>
+      <h2 class="modal-title">${_('Operation timed out')}</h2>
     </div>
     <div class="modal-body">
       <p>${_('The operation timed out. Do you want to retry?')}</p>

+ 6 - 5
desktop/libs/notebook/src/notebook/templates/notebooks.mako

@@ -144,18 +144,19 @@ ${ commonheader(_("Notebooks"), "spark", user, request, "60px") | n,unicode }
   <form id="deleteNotebookForm" method="POST" data-bind="submit: delete2">
     ${ csrf_token(request) | n,unicode }
     <div class="modal-header">
-      <a href="#" class="close" data-dismiss="modal">&times;</a>
+      <button type="button" class="close" data-dismiss="modal" aria-label="${ _('Close') }"><span aria-hidden="true">×</span></button>
+
       % if editor_type == 'pig':
-      <h3 id="deleteNotebookMessage">${ _('Delete the selected script(s)?') }</h3>
+      <h2 id="deleteNotebookMessage" class="modal-title">${ _('Delete the selected script(s)?') }</h2>
       % elif editor_type in ('beeswax', 'hive', 'rdbms', 'impala'):
       <!-- ko if: selectedJobs().length == 1 -->
-      <h3 id="deleteNotebookMessage">${ _('Delete the selected query?') }</h3>
+      <h2 id="deleteNotebookMessage" class="modal-title">${ _('Delete the selected query?') }</h2>
       <!-- /ko -->
       <!-- ko if: selectedJobs().length >1 -->
-      <h3 id="deleteNotebookMessage">${ _('Delete the selected queries?') }</h3>
+      <h2 id="deleteNotebookMessage" class="modal-title">${ _('Delete the selected queries?') }</h2>
       <!-- /ko -->
       % else:
-      <h3 id="deleteNotebookMessage">${ _('Delete the selected notebook(s)?') }</h3>
+      <h2 id="deleteNotebookMessage" class="modal-title">${ _('Delete the selected notebook(s)?') }</h2>
       % endif
     </div>
     <div class="modal-footer">

+ 1 - 1
tools/followme/jHueTourBuilder.js

@@ -51,7 +51,7 @@ $("<style type='text/css'> .tooltip {z-index: 30000} .tourBuilder td { vertical-
      var _managerHtml = "<div id='tbToursModal' class='modal hide fade'>" +
              "<div class='modal-header'>" +
              "<button type='button' class='close' data-dismiss='modal' aria-hidden='true'>&times;</button>" +
-             "<h3>Available tours</h3>" +
+             "<h2 class='modal-title'>Available tours</h2>" +
              "</div>" +
              "<div class='modal-body'>" +
              "<p><span id='tbTourList'></span><br/><h4>Content for tours.mako</h4><textarea id='tbAvailableContent' style='width:90%'></textarea><br/><a href='javascript:void(0)' id='tbLoadToursJson' class='btn btn-mini'>Load from JSON</a></p>" +

Някои файлове не бяха показани, защото твърде много файлове са промени