XP part of accessibility landing

-r vidur, rods -sr hyatt


git-svn-id: svn://10.0.0.236/trunk@90971 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
evaughan%netscape.com
2001-04-01 01:01:33 +00:00
parent 4323130426
commit 94e72ae454
26 changed files with 598 additions and 55 deletions

View File

@@ -32,6 +32,10 @@
#include "nsCSSRendering.h"
#include "nsIPresState.h"
#include "nsINameSpaceManager.h"
#include "nsIMutableAccessible.h"
#include "nsIAccessibilityService.h"
#include "nsIServiceManager.h"
#include "nsIDOMNode.h"
nsresult
@@ -77,7 +81,23 @@ nsGfxRadioControlFrame::QueryInterface(const nsIID& aIID, void** aInstancePtr)
*aInstancePtr = (void*) ((nsIStatefulFrame*) this);
return NS_OK;
}
if (aIID.Equals(NS_GET_IID(nsIAccessible))) {
nsresult rv = NS_OK;
NS_WITH_SERVICE(nsIAccessibilityService, accService, "@mozilla.org/accessibilityService;1", &rv);
if (accService) {
nsCOMPtr<nsIDOMNode> node = do_QueryInterface(mContent);
nsIMutableAccessible* acc = nsnull;
accService->CreateMutableAccessible(node,&acc);
acc->SetName(NS_LITERAL_STRING("Radio Button").get());
acc->SetRole(NS_LITERAL_STRING("radio button").get());
acc->SetIsLeaf(PR_TRUE);
*aInstancePtr = acc;
return NS_OK;
}
return NS_ERROR_FAILURE;
}
return nsFormControlFrame::QueryInterface(aIID, aInstancePtr);
}