diff --git a/js/panelizer-state.js b/js/panelizer-state.js
new file mode 100644
index 0000000..5003c38
--- /dev/null
+++ b/js/panelizer-state.js
@@ -0,0 +1,16 @@
+(function ($) {
+  'use strict';
+
+  // Add a new state to Drupal #states.  We use this to toggle element-invisible
+  // to show/hidden #states elements. This allows elements to be visible to screen
+  // readers.
+  Drupal.states.State.aliases.hidden = '!show';
+
+  // Toggle the element-invisible class to show/hide form items.
+  $(document).bind('state:show', function(e) {
+    if (e.trigger) {
+      $(e.target).closest('.form-item, .form-submit, .form-wrapper').toggleClass('element-invisible');
+    }
+  });
+
+})(jQuery);
diff --git a/plugins/entity/PanelizerEntityDefault.class.php b/plugins/entity/PanelizerEntityDefault.class.php
index 61fc4cf..44a1280 100644
--- a/plugins/entity/PanelizerEntityDefault.class.php
+++ b/plugins/entity/PanelizerEntityDefault.class.php
@@ -2788,6 +2788,8 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
 
       $form['entities'][$this->entity_type][$bundle][0]['status'] = array(
         '#type' => 'checkbox',
+        '#title' => t('Panelize: @label', array('@label' => $bundle_info['label'])),
+        '#title_display' => 'invisible',
         '#default_value' => !empty($this->plugin['bundles'][$bundle]['status']),
       );
 
@@ -2817,7 +2819,7 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
         '#type' => 'item',
         '#title' => $links,
         '#states' => array(
-          'visible' => array(
+          'show' => array(
             $bundle_id . '-status' => array('checked' => TRUE),
           ),
         ),
@@ -2855,8 +2857,16 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
         $form['entities'][$this->entity_type][$bundle][$view_mode]['status'] = array(
           '#type' => 'checkbox',
           '#default_value' => !empty($settings['status']),
+          '#title' => t(
+            'Panelize: @label, @bundle',
+            array(
+              '@label' => $bundle_info['label'],
+              '@bundle' => $view_mode_label
+            )
+          ),
+          '#title_display' => 'invisible',
           '#states' => array(
-            'visible' => array(
+            'show' => array(
               $bundle_id . '-status' => array('checked' => TRUE),
             ),
           ),
@@ -2868,8 +2878,16 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
           '#type' => 'select',
           '#options' => $options,
           '#default_value' => $this->get_substitute($view_mode, $bundle),
+          '#title' => t(
+            'Substitute view mode: @label, @bundle',
+            array(
+              '@label' => $bundle_info['label'],
+              '@bundle' => $view_mode_label
+            )
+          ),
+          '#title_display' => 'invisible',
           '#states' => array(
-            'visible' => array(
+            'show' => array(
               $bundle_id . '-status' => array('checked' => TRUE),
               $base_id . '-status' => array('checked' => TRUE),
             ),
@@ -2879,8 +2897,16 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
         $form['entities'][$this->entity_type][$bundle][$view_mode]['default'] = array(
           '#type' => 'checkbox',
           '#default_value' => !empty($settings['default']),
+          '#title' => t(
+            'Provide initial display: @label, @bundle',
+            array(
+              '@label' => $bundle_info['label'],
+              '@bundle' => $view_mode_label
+            )
+          ),
+          '#title_display' => 'invisible',
           '#states' => array(
-            'visible' => array(
+            'show' => array(
               $bundle_id . '-status' => array('checked' => TRUE),
               $base_id . '-status' => array('checked' => TRUE),
               $base_id . '-substitute' => array('value' => ''),
@@ -2891,8 +2917,16 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
         $form['entities'][$this->entity_type][$bundle][$view_mode]['choice'] = array(
           '#type' => 'checkbox',
           '#default_value' => !empty($settings['choice']),
+          '#title' => t(
+            'Allow panel choice: @label, @bundle',
+            array(
+              '@label' => $bundle_info['label'],
+              '@bundle' => $view_mode_label
+            )
+          ),
+          '#title_display' => 'invisible',
           '#states' => array(
-            'visible' => array(
+            'show' => array(
               $bundle_id . '-status' => array('checked' => TRUE),
               $base_id . '-status' => array('checked' => TRUE),
               $base_id . '-substitute' => array('value' => ''),
@@ -2947,8 +2981,16 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
           '#type' => 'select',
           '#options' => $options,
           '#default_value' => $default_value,
+          '#title' => t(
+            'Default panel: @label, @bundle',
+            array(
+              '@label' => $bundle_info['label'],
+              '@bundle' => $view_mode_label
+            )
+          ),
+          '#title_display' => 'invisible',
           '#states' => array(
-            'visible' => array(
+            'show' => array(
               $bundle_id . '-status' => array('checked' => TRUE),
               $base_id . '-status' => array('checked' => TRUE),
               $base_id . '-substitute' => array('value' => ''),
@@ -2959,8 +3001,16 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
         $form['entities'][$this->entity_type][$bundle][$view_mode]['default revert'] = array(
           '#type' => 'checkbox',
           '#default_value' => FALSE,
+          '#title' => t(
+            'Update existing entities to use this display: @label, @bundle',
+            array(
+              '@label' => $bundle_info['label'],
+              '@bundle' => $view_mode_label
+            )
+          ),
+          '#title_display' => 'invisible',
           '#states' => array(
-            'visible' => array(
+            'show' => array(
               $bundle_id . '-status' => array('checked' => TRUE),
               $base_id . '-status' => array('checked' => TRUE),
               $base_id . '-substitute' => array('value' => ''),
@@ -2997,7 +3047,7 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
           '#type' => 'item',
           '#title' => $links,
           '#states' => array(
-            'visible' => array(
+            'show' => array(
               $bundle_id . '-status' => array('checked' => TRUE),
               $base_id . '-status' => array('checked' => TRUE),
               $base_id . '-default' => array('checked' => TRUE),
@@ -3028,7 +3078,7 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
           '#type' => 'item',
           '#title' => $links,
           '#states' => array(
-            'visible' => array(
+            'show' => array(
               $bundle_id . '-status' => array('checked' => TRUE),
               $base_id . '-status' => array('checked' => TRUE),
               $base_id . '-choice' => array('checked' => TRUE),
@@ -3043,6 +3093,9 @@ abstract class PanelizerEntityDefault implements PanelizerEntityInterface {
         }
       }
     }
+    $form['#attached'] = array(
+      'js' => array(ctools_attach_js('panelizer-state', 'panelizer')),
+    );
   }
 
   /**
