diff -urp filefield/filefield.js filefield-patch/filefield.js
--- filefield/filefield.js	2008-07-25 12:15:05.000000000 +1000
+++ filefield-patch/filefield.js	2008-07-26 12:11:15.000000000 +1000
@@ -18,7 +18,7 @@ Drupal.behaviors.filefieldValidateAutoAt
         );
         // what do I prepend this to?
         $(this).before('<div class="messages error filefield-js-error">' + error + '</div>');
-        this.files = '';
+        this.value = '';
         return false;
       }
     }
diff -urp filefield/filefield_widget.inc filefield-patch/filefield_widget.inc
--- filefield/filefield_widget.inc	2008-07-25 12:15:14.000000000 +1000
+++ filefield-patch/filefield_widget.inc	2008-07-26 12:10:13.000000000 +1000
@@ -208,6 +208,9 @@ function filefield_widget_process($eleme
       '#type' => 'file',
       '#title' => t('New Upload'),
       '#description' => implode('<br />', $desc),
+      '#attributes' => array(
+        'accept' => str_replace(' ', '|', trim($field['widget']['file_extensions']))
+      )
     );
 
     $element['upload_btn'] = array(
