### Eclipse Workspace Patch 1.0
#P fluid-engage-core
Index: components/codeEntry/messages/messages_fr.json
===================================================================
--- components/codeEntry/messages/messages_fr.json	(revision 9374)
+++ components/codeEntry/messages/messages_fr.json	(working copy)
@@ -3,6 +3,9 @@
    "header": "Entrez le code d'objet",
    "instruction": "Entrez le code numérique affiché sur l'étiquette pour en apprendre plus sur cet objet.",
    "redirecting": "Ouverture de la page de l'objet",
-   "invalidCode": "Numéro inconnu. Veuillez réessayer",
-   "deleteLabel": "Effacer"
+   "invalidCode": "Numéro inconnu. Veuillez réessayer.",
+   "deleteLabel": "Effacer",
+   "warning": "Warning",
+   "firstDigit": "Code first digit blank",
+   "secondDigit": "Code second digit blank"
 }
\ No newline at end of file
Index: components/codeEntry/js/CodeEntryView.js
===================================================================
--- components/codeEntry/js/CodeEntryView.js	(revision 9398)
+++ components/codeEntry/js/CodeEntryView.js	(working copy)
@@ -29,6 +29,10 @@
         that.code = "";
         that.atDigit = 0;
         that.deleteEnabled = true;
+        
+        var strings = that.options.strings;
+        that.locate("firstDigitField").attr("aria-label", strings.firstDigit);
+        that.locate("secondDigitField").attr("aria-label", strings.secondDigit);        
     };
 
     /**
@@ -50,13 +54,15 @@
      * @param url, the URL to redirect to.
      */
     var redirectSequence = function (that, url) {
+        // Hide warning block
+        that.locate("warningBlock").hide();
+        
         var msg = that.locate("headMessage");
         var opts = that.options;
         
-        // Replace the invalid code message with something...
+        // Display some message
         msg.text(opts.strings.redirecting);
-        
-        msg.removeClass(opts.styles.invalidCode);
+        msg.show();
         
         setTimeout(function () {
             redirectToArtifactPage(that, url);
@@ -69,13 +75,17 @@
      * @param {Object} that, the component.
      */
     var wrongCodeSequence = function (that) {
-        var msg = that.locate("headMessage");
+        // Hide instruction
+        that.locate("headMessage").hide();
+        
+        var msg = that.locate("warningText");
         var opts = that.options;
         
         msg.text(opts.strings.invalidCode);
-        msg.addClass(opts.styles.invalidCode);
         
-        msg.show(250, function () {
+        var warningBlock = that.locate("warningBlock");
+        
+        warningBlock.slideDown(250, function () {
             reset(that);
         });
     };
@@ -149,6 +159,13 @@
         
         //Initialize delete button
         setupDelete(that, that.locate("delButton"));
+        
+        //Initialize warning icon
+        that.locate("warningIcon").attr("alt", strings.warning);
+        
+        //Initialize the code entry digits
+        that.locate("firstDigit").attr("aria-label", strings.firstDigit);
+        that.locate("secondDigit").attr("aria-label", strings.secondDigit);
     };
 
     /**
@@ -161,12 +178,14 @@
         var that = fluid.initView("fluid.engage.codeEntry", container, options);
         
         that.enterDigit = function (digit) {
-            getCurrentDigitField(that).text(digit);
+            var currentDigitField = getCurrentDigitField(that);
+            currentDigitField.text(digit);
+            currentDigitField.removeAttr("aria-label");
             if (that.atDigit === 0) {
                 if (digit !== 0) {
                     that.code += digit;
                 }
-                that.atDigit++;
+                that.atDigit++;                
             } else {
                 that.code += digit;
                 that.deleteEnabled = false;
@@ -188,6 +207,7 @@
                 that.atDigit--;
                 that.code = "";
                 getCurrentDigitField(that).text("");
+                getCurrentDigitField(that).attr("aria-label", that.options.strings.firstDigit);
             }
         };
         
@@ -206,18 +226,21 @@
             firstDigitField : ".flc-codeEntry-firstDigit",
             secondDigitField : ".flc-codeEntry-secondDigit",
             numButtons: ".flc-codeEntry-numButton",
-            delButton: ".flc-codeEntry-delButton"
-        },
-        styles : {
-            invalidCode : "fl-codeEntry-invalidCode"
+            delButton: ".flc-codeEntry-delButton",
+            warningBlock: ".flc-codeEntry-invalidCode",
+            warningIcon: ".flc-codeEntry-warningIcon",
+            warningText: ".flc-codeEntry-warningText"
         },
         strings : {
             title : "Enter object code",
             header : "Enter object code",
             instruction : "Enter code from the object's label to learn more about the object.",
-            invalidCode : "Invalid code. Please try again",
+            invalidCode : "Invalid code. Please try again.",
             redirecting : "Opening artifact page.",
-            deleteLabel: "Delete"
+            deleteLabel: "Delete",
+            warning: "Warning",
+            firstDigit: "Code first digit blank",
+            secondDigit: "Code second digit blank"
         },
         codeCheckUrlTemplate: "",
         redirectDelay : 1000,
Index: components/codeEntry/html/codeEntry.html
===================================================================
--- components/codeEntry/html/codeEntry.html	(revision 9398)
+++ components/codeEntry/html/codeEntry.html	(working copy)
@@ -35,11 +35,17 @@
                 <h1 class="flc-codeEntry-title fl-navbar-title fl-col-flex">Enter an Object Code</h1>
             </div>
 			
-        	<div class="flc-codeEntry-headMessage fl-codeEntry-headMessage"></div>            
+			<div class="fl-codeEntry-headBlock">
+	        	<div class="flc-codeEntry-headMessage fl-codeEntry-headMessage"></div>
+	        	<div class="flc-codeEntry-invalidCode fl-codeEntry-invalidCode">
+	        	   <img class="flc-codeEntry-warningIcon fl-codeEntry-warningIcon" src="../../../../fluid-engage-core/components/codeEntry/images/warning.png" alt="Warning"/>
+	        	   <span class="flc-codeEntry-warningText fl-codeEntry-warningText"></span>
+	        	</div>            
+        	</div>
 	
 	        <div class="flc-codeEntry-block fl-codeEntry-block">
-	            <span class="flc-codeEntry-firstDigit fl-codeEntry-digitField"></span>
-	            <span class="flc-codeEntry-secondDigit fl-codeEntry-digitField"></span>
+	            <span class="flc-codeEntry-firstDigit fl-codeEntry-digitField" aria-label="Code first digit blank"></span>
+	            <span class="flc-codeEntry-secondDigit fl-codeEntry-digitField" aria-label="Code second digit blank"></span>
 			</div>
 			
 			<div class="flc-codeEntry-numpad fl-codeEntry-numpad fl-table">
Index: components/codeEntry/css/codeEntry.css
===================================================================
--- components/codeEntry/css/codeEntry.css	(revision 9398)
+++ components/codeEntry/css/codeEntry.css	(working copy)
@@ -1,15 +1,34 @@
-.fl-codeEntry-headMessage {
+.fl-codeEntry-headBlock {
     width: 320px;
     height: 80px;
     margin: auto;
     margin-top: 10px;
     margin-bottom: 0px;
+}
+
+.fl-codeEntry-headMessage {
     text-align: center;
 }
 
 .fl-codeEntry-invalidCode {
-	color: white;
-	background-color: #464646;
+	padding: 40px;
+	padding-top: 10px;
+	padding-bottom: 10px;
+	background-color: #464646;	
+	display: none;
+}
+
+.fl-codeEntry-warningIcon {
+	float: left;
+	margin-right: 15px;
+}
+
+.fl-codeEntry-warningText {
+    text-align: center;
+    vertical-align: top;	
+    font-size: 20px;
+    font-weight: bold;
+    color: white;
 }
 
 .fl-codeEntry-block {
