Make links in OpenId dialog focusable

Instead of usng a span with a click handler, use a proper anchor
tag so the browser will permit the user to focus onto the link for
"Google Account" or "Yahoo! Account" and activate the link with
the keyboard.

Change-Id: I49cb42d9eae2bd00a9666fba7526f34be629d676
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/SignInDialog.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/SignInDialog.java
index c931d66..86fdb85 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/SignInDialog.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/SignInDialog.java
@@ -15,6 +15,7 @@
 package com.google.gerrit.client;
 
 import com.google.gerrit.common.auth.SignInMode;
+import com.google.gwtexpui.globalkey.client.GlobalKey;
 import com.google.gwtexpui.user.client.AutoCenterDialogBox;
 
 /** Prompts the user to sign in to their account. */
@@ -47,4 +48,10 @@
         break;
     }
   }
+
+  @Override
+  public void show() {
+    super.show();
+    GlobalKey.dialog(this);
+  }
 }
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdSignInDialog.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdSignInDialog.java
index 703942d..3736945 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdSignInDialog.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdSignInDialog.java
@@ -34,6 +34,7 @@
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.DeferredCommand;
 import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.ui.Anchor;
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.CheckBox;
 import com.google.gwt.user.client.ui.FlowPanel;
@@ -239,6 +240,7 @@
     final ClickHandler i = new ClickHandler() {
       @Override
       public void onClick(final ClickEvent event) {
+        event.preventDefault();
         if (!discovering) {
           providerId.setText(identUrl);
           form.submit();
@@ -253,21 +255,22 @@
     img.addClickHandler(i);
     line.add(img);
 
-    final InlineLabel lbl = new InlineLabel();
+    final Anchor text = new Anchor();
     switch (mode) {
       case LINK_IDENTIY:
-        lbl.setText(OpenIdUtil.M.linkWith(who));
+        text.setText(OpenIdUtil.M.linkWith(who));
         break;
       case REGISTER:
-        lbl.setText(OpenIdUtil.M.registerWith(who));
+        text.setText(OpenIdUtil.M.registerWith(who));
         break;
       case SIGN_IN:
       default:
-        lbl.setText(OpenIdUtil.M.signInWith(who));
+        text.setText(OpenIdUtil.M.signInWith(who));
         break;
     }
-    lbl.addClickHandler(i);
-    line.add(lbl);
+    text.setHref(identUrl);
+    text.addClickHandler(i);
+    line.add(text);
 
     formBody.add(line);
   }