Apple - Job Opportunities - Job description

Dean Hudson <[email protected]> Sat, 17 May 2008 11:16:30 -0700
Newsgroups gmane.comp.accessibility.vision
Message-ID <[email protected]>
--Apple-Mail-40-812757136
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: 7bit






Job description
Create Profile
Email A Friend
Requisition Number	 3540529
Job title	 VoiceOver Software Quality Engineer
Location	 Santa Clara Valley
Country	
City	
State/Province	
Job type	 Full Time
Job description	 Do you want to directly and positively impact the  
lives of many Apple customers? Do you *really* want to change the  
world? Apple's VoiceOver Engineering Team is seeking a Software  
Quality Engineer who will help test and improve future versions of  
VoiceOver as well as the general accessibility of Mac OS X. VoiceOver  
Is Apple's screenreader software that enables blind or visually  
impaired users to use a Macintosh. You'll be responsible for testing  
functionality, user experience, and performance, as well as text-to- 
speech and Braille display accuracy and speed. The ideal candidate  
will have experience with the software quality assurance process and  
will be extremely passionate about accessibility and VoiceOver.

Job Responsibilities Include:
- Defining/evolving the team's testing and performance strategy.
- Developing test suites and scripts which work with Apple's automated  
test tools.
- Testing the functionality of VoiceOver.
- Testing the accessibility of many Mac OS X applications (using  
VoiceOver).
- Contributing ideas to improve VoiceOver's user experience.
- Testing alternative display devices, such as refreshable Braille  
displays.
- Testing speech quality.
- General testing of Mac OS X.

Key Requirements:
- BSCS or equivalent.
- Experience using the UNIX command line and scripting.
- Experience using screen readers and knowledge of accessibility issues.
- Experience using speech synthesis.
- Fluent Braille reader.
- Solid testing skills.
- Strong communication skills.

Additional Desired Skills:
- Fluency in Braille.
- Experience with refreshable Braille displays and other accessibility  
devices.
- Experience with C, Objective-C, Mac OS X, Cocoa, Carbon, and Apple's  
Accessibility API.


BS in Computer Science or Equivalent
Create Profile
Email A Friend
Sign In
Search Jobs
Search Results
Inside Apple
Commitment to diversity
Apple locations
Benefits
Common questions

We are committed to diversity.  Apple is an Equal Employment  
Opportunity and Affirmative Action Employer.

Home>Job Opportunities>Job description




    VICUG-L is the Visually Impaired Computer User Group List.
Archived on the World Wide Web at
    http://listserv.icors.org/archives/vicug-l.html
    Signoff: [email protected]
    Subscribe: [email protected]




--Apple-Mail-40-812757136
Content-Type: text/html;
	charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

<p>
<html><head><base =
href=3D"http://jobs.apple.com/index.ajs?BID=3D1&amp;method=3DmExternal.sho=
wJob&amp;RID=3D21088&amp;CurrentPage=3D1">
		<link rel=3D"stylesheet" type=3D"text/css" =
href=3D"A2J.css">
		<script language=3D"JavaScript1.2" =
src=3D"/ColdFusionScript/wddx.js"></script>
		<script language=3D"JavaScript1.2" =
src=3D"/Script/jsMandatory.js"></script>
		<script language=3D"JavaScript1.2" =
src=3D"/Script/jsEmailValidation.js"></script>
		<script language=3D"JavaScript1.2" =
src=3D"/Script/jsPopupwindow.js"></script>
		<script language=3D"JavaScript1.2">
		function =
PopulateCombo(cmbTobeLoaded,jsVariable,FieldValueToBePopulated,FieldTextTo=
BePopulated,dependentCombo,dependentFieldValue,defaultValue)
{
	var jsTotalRecords=3D0;
	n=3Deval(jsVariable + ".getRowCount()");
	cmbTobeLoaded.options.length=3D0;
	optNew=3Dnew Option;
	optNew.value=3D"";
	optNew.text=3D"-- Select --";
	cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
	cmbTobeLoaded.options[0].selected=3Dtrue;
	if(dependentCombo !=3D "")
	{
		for(i=3D0;i<n;i++)
		{
			var =
m=3DparseInt(dependentCombo.options[dependentCombo.options.selectedIndex].=
value);
			var p=3DparseInt(eval(jsVariable + ".getField(" =
+ i + ",'" + dependentFieldValue + "')"));
			if(m=3D=3Dp)
			{
				optNew=3Dnew Option;
				optNew.value=3Deval(jsVariable + =
".getField(" + i + ",'" + FieldValueToBePopulated + "')");
				optNew.text=3Deval(jsVariable + =
".getField(" + i + ",'" + FieldTextToBePopulated + "')");
				=
cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
				jsTotalRecords++;
				=
if(parseInt(defaultValue)=3D=3DparseInt(eval(jsVariable + ".getField(" + =
i + ",'" + FieldValueToBePopulated + "')")))
				{
					=
cmbTobeLoaded.options[0].selected=3Dfalse;
					var =
ind=3DcmbTobeLoaded.options.length-1;
					=
cmbTobeLoaded.options.selectedIndex=3Dind;
					=
cmbTobeLoaded.options[cmbTobeLoaded.options.length-1].selected=3Dtrue;
				}
			}
		}
	}
	else
	{
		for(i=3D0;i<n;i++)
		{
			optNew=3Dnew Option;
			optNew.value=3Deval(jsVariable + ".getField(" + =
i + ",'" + FieldValueToBePopulated + "')");
			optNew.text=3Deval(jsVariable + ".getField(" + i =
+ ",'" + FieldTextToBePopulated + "')");
			=
cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
			var m=3DparseInt(defaultValue);
			var p=3DparseInt(eval(jsVariable + ".getField(" =
+ i + ",'" + FieldValueToBePopulated + "')"));
			if(m=3D=3Dp)
			{
				cmbTobeLoaded.options[0].selected=3Dfalse;=

				var ind=3DcmbTobeLoaded.options.length-1;
				cmbTobeLoaded.options.selectedIndex=3Dind;=

				=
cmbTobeLoaded.options[ind].selected=3Dtrue;
			}
		}
		jsTotalRecords=3DparseInt(n);
	}
=09
	if(jsTotalRecords=3D=3D1)
	{
		if(cmbTobeLoaded.options.selectedIndex <=3D 0)
		{
			cmbTobeLoaded.options.selectedIndex=3D1;
			cmbTobeLoaded.options[1].selected=3Dtrue;
			if(cmbTobeLoaded.onchange)
			{
				cmbTobeLoaded.onchange();
			}
		}
	}
}

// Please leave these comments as they prevent JavaScript functions from =
running together in Netscape!
// End of Date Validation Functions

function =
PopulateComboForReadOnly(cmbTobeLoaded,jsVariable,FieldValueToBePopulated,=
FieldTextToBePopulated,dependentCombo,dependentFieldValue,defaultValue)
{
	n=3Deval(jsVariable + ".getRowCount()");
	if(typeof(cmbTobeLoaded.options)!=3D'undefined')
	{
		cmbTobeLoaded.options.length=3D0;
		optNew=3Dnew Option;
		optNew.value=3D"";
		optNew.text=3D"-- Select --";
		=
cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
		cmbTobeLoaded.options[0].selected=3Dtrue;
		if(dependentCombo !=3D "")
		{
			for(i=3D0;i<n;i++)
			{
				var m=3DparseInt(dependentCombo.value);
				var p=3DparseInt(eval(jsVariable + =
".getField(" + i + ",'" + dependentFieldValue + "')"));
				if(m=3D=3Dp)
				{
					optNew=3Dnew Option;
					optNew.value=3Deval(jsVariable + =
".getField(" + i + ",'" + FieldValueToBePopulated + "')");
					optNew.text=3Deval(jsVariable + =
".getField(" + i + ",'" + FieldTextToBePopulated + "')");
					=
cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
					=
if(parseInt(defaultValue)=3D=3DparseInt(eval(jsVariable + ".getField(" + =
i + ",'" + FieldValueToBePopulated + "')")))
					{
						=
cmbTobeLoaded.options[0].selected=3Dfalse;
						var =
ind=3DcmbTobeLoaded.options.length-1;
						=
cmbTobeLoaded.options.selectedIndex=3Dind;
						=
cmbTobeLoaded.options[cmbTobeLoaded.options.length-1].selected=3Dtrue;
					}
				}
			}
		}
		else
		{
			for(i=3D0;i<n;i++)
			{
				optNew=3Dnew Option;
				optNew.value=3Deval(jsVariable + =
".getField(" + i + ",'" + FieldValueToBePopulated + "')");
				optNew.text=3Deval(jsVariable + =
".getField(" + i + ",'" + FieldTextToBePopulated + "')");
				=
cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
				var m=3DparseInt(defaultValue);
				var p=3DparseInt(eval(jsVariable + =
".getField(" + i + ",'" + FieldValueToBePopulated + "')"));
				if(m=3D=3Dp)
				{
					=
cmbTobeLoaded.options[0].selected=3Dfalse;
					var =
ind=3DcmbTobeLoaded.options.length-1;
					=
cmbTobeLoaded.options.selectedIndex=3Dind;
					=
cmbTobeLoaded.options[ind].selected=3Dtrue;
				}
			}
		}
	}
}

// Please leave these comments as they prevent JavaScript functions from =
running together in Netscape!
// End of Date Validation Functions


function =
PopulateComboOnMultiSelect(cmbTobeLoaded,jsVariable,FieldValueToBePopulate=
d,FieldTextToBePopulated,dependentCombo,dependentFieldValue,defaultValue)
{
	n=3Deval(jsVariable + ".getRowCount()");
	cmbTobeLoaded.options.length=3D0;
	optNew=3Dnew Option;
	optNew.value=3D"";
	optNew.text=3D"-- Select --";
	cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
	cmbTobeLoaded.options[0].selected=3Dtrue;
=09
	if(dependentCombo !=3D "")
	{
		for(j=3D0;j<dependentCombo.options.length;j++)
		{
			if(dependentCombo.options[j].selected)
			{
				for(i=3D0;i<n;i++)
				{
					var =
m=3DparseInt(dependentCombo.options[j].value);
					var p=3DparseInt(eval(jsVariable =
+ ".getField(" + i + ",'" + dependentFieldValue + "')"));
					if(m=3D=3Dp)
					{
						optNew=3Dnew Option;
						=
optNew.value=3Deval(jsVariable + ".getField(" + i + ",'" + =
FieldValueToBePopulated + "')");
						=
optNew.text=3Deval(jsVariable + ".getField(" + i + ",'" + =
FieldTextToBePopulated + "')");
						=
cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
						=
if(parseInt(defaultValue)=3D=3DparseInt(eval(jsVariable + ".getField(" + =
i + ",'" + FieldValueToBePopulated + "')")))
						{
							=
cmbTobeLoaded.options[0].selected=3Dfalse;
							var =
ind=3DcmbTobeLoaded.options.length-1;
							=
cmbTobeLoaded.options.selectedIndex=3Dind;
							=
cmbTobeLoaded.options[cmbTobeLoaded.options.length-1].selected=3Dtrue;
						}
					}
				}
			}
		}
		cmbTobeLoaded.onchange();
	}
}

// Please leave these comments as they prevent JavaScript functions from =
running together in Netscape!
// End of Date Validation Functions

function =
PopulateComboWithMultiSelectDefault(cmbTobeLoaded,jsVariable,FieldValueToB=
ePopulated,FieldTextToBePopulated,dependentCombo,dependentFieldValue,defau=
ltValue)
{
	n=3Deval(jsVariable + ".getRowCount()");
	cmbTobeLoaded.options.length=3D0;
	optNew=3Dnew Option;
	optNew.value=3D"";
	optNew.text=3D"-- Select --";
	cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
	cmbTobeLoaded.options[0].selected=3Dtrue;
	if(dependentCombo !=3D "")
	{
		for(i=3D0;i<n;i++)
		{
			var =
m=3DparseInt(dependentCombo.options[dependentCombo.options.selectedIndex].=
value);
			var p=3DparseInt(eval(jsVariable + ".getField(" =
+ i + ",'" + dependentFieldValue + "')"));
			if(m=3D=3Dp)
			{
				optNew=3Dnew Option;
				optNew.value=3Deval(jsVariable + =
".getField(" + i + ",'" + FieldValueToBePopulated + "')");
				optNew.text=3Deval(jsVariable + =
".getField(" + i + ",'" + FieldTextToBePopulated + "')");
				=
cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
				defValueList =3D =
defaultValue.split(",");
				for(j=3D0;j<defValueList.length;j++)
				{
					=
if(parseInt(defValueList[j])=3D=3DparseInt(eval(jsVariable + =
".getField(" + i + ",'" + FieldValueToBePopulated + "')")))
					{
					=09
						=
cmbTobeLoaded.options[0].selected=3Dfalse;
						var =
ind=3DcmbTobeLoaded.options.length-1;
						=
cmbTobeLoaded.options[cmbTobeLoaded.options.length-1].selected=3Dtrue;
					}
				}
			}
		}
	}
	else
	{
		for(i=3D0;i<n;i++)
		{
			optNew=3Dnew Option;
			optNew.value=3Deval(jsVariable + ".getField(" + =
i + ",'" + FieldValueToBePopulated + "')");
			optNew.text=3Deval(jsVariable + ".getField(" + i =
+ ",'" + FieldTextToBePopulated + "')");
			=
cmbTobeLoaded.options[cmbTobeLoaded.options.length]=3DoptNew;
			defValueList =3D defaultValue.split(",");
			for(j=3D0;j<defValueList.length;j++)
			{
				var m=3DparseInt(defValueList[j]);
				var p=3DparseInt(eval(jsVariable + =
".getField(" + i + ",'" + FieldValueToBePopulated + "')"));
				if(m=3D=3Dp)
				{
					=
cmbTobeLoaded.options[0].selected=3Dfalse;
					var =
ind=3DcmbTobeLoaded.options.length-1;
					=
cmbTobeLoaded.options[ind].selected=3Dtrue;
				}
			}=09
		}
	}
}=09
=09


// Please leave these comments as they prevent JavaScript functions from =
running together in Netscape!
// End of Date Validation Functions

function resetCombo(cmbTobeLoaded)
{
	cmbTobeLoaded.options.length=3D1;
	cmbTobeLoaded.options[0].text=3D'-- Select --';
	cmbTobeLoaded.options[0].value=3D'';
}

// Please leave these comments as they prevent JavaScript functions from =
running together in Netscape!
// End of Date Validation Functions


		</script>
		<script language=3D"JavaScript1.2">
function getCookie(name)
{ var pos
  var token =3D name + "=3D";
  var tnlen =3D token.length;
  var cklen =3D document.cookie.length;
  var i =3D 0;
  var j;
  while (i < cklen)
  { j =3D i + tnlen;
    if (document.cookie.substring(i, j) =3D=3D token)
    { pos =3D document.cookie.indexOf (";", j);
      if (pos =3D=3D -1)
        pos =3D document.cookie.length;
      return unescape(document.cookie.substring(j, pos));
    }
    i =3D document.cookie.indexOf(" ", i) + 1;
    if (i =3D=3D 0) break;
  }
  return null;
}

function setCookie(name, value)
{=20
	document.cookie =3D name + "=3D" + escape(value)
}

function deleteCookie(name)
{
	var exp =3D new Date();
  	exp.setTime (exp.getTime() - 1);
  	var cval =3D getCookie (name);
  	document.cookie =3D name + "=3D" + cval + "; expires=3D" + =
exp.toGMTString();
}
</script>

<script language=3D"JavaScript">
var glCookieCheckFailed=3Dfalse;
var glCookieMessage=3D"The Apply2Jobs web site is functional only if =
Cookies are enabled. A test of your browsers configuration has =
determined that Cookies are disabled.Your browser must be configured to =
support JavaScript and Cookies before you can apply. Once you have =
properly configured your browser please re-visit Apply2Jobs.";
var gCookieName;
var gCookieValueRet;
gCookieName=3D"A2J";
gCookieValue=3D"1";
gCookieValueRet=3D"???"

setCookie(gCookieName,gCookieValue,1);
gCookieValueRet=3DgetCookie(gCookieName);
if (gCookieValueRet=3D=3Dnull)
{
	glCookieCheckFailed=3Dtrue;
}
</script>=20
<title>Apple -  Job Opportunities - Job description </title>
<meta content=3D"company" name=3D"Category">


<meta content=3D"Thu, 01 Nov 2007 09:02:25 -0380" name=3D"date">
<meta content=3D"text/html; charset=3Dutf-8" http-equiv=3D"Content-Type">
<meta content=3D"Fri, 26 Mar 1999 23:59:59 GMT" http-equiv=3D"Expires">
<meta content=3D"Apple Inc." name=3D"Author">
<link href=3D"http://www.apple.com/" rel=3D"home"> 	          =20
<link href=3D"http://www.apple.com/find/sitemap.html" rel=3D"index">
<link charset=3D"utf-8" =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../global/sty=
les/base.css" rel=3D"stylesheet" type=3D"text/css">
<link charset=3D"utf-8" =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../global/nav=
/styles/nav.css" rel=3D"stylesheet" type=3D"text/css"> 	          =20
<link =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../css/app=
le1_global.css" media=3D"all" rel=3D"stylesheet" type=3D"text/css"> 	 =
         =20
<link =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../css/app=
le2_fonts.css" media=3D"screen" rel=3D"stylesheet" type=3D"text/css"> 	 =
         =20
<link =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../css/app=
le3_nav_ve.css" media=3D"screen" rel=3D"stylesheet" type=3D"text/css"> 	 =
         =20
<link =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../css/app=
le4_jobs.css" media=3D"screen" rel=3D"stylesheet" type=3D"text/css"> 	 =
         =20
<link =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../css/app=
le5_division.css" media=3D"screen" rel=3D"stylesheet" type=3D"text/css"> =
	          =20
<link =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../css/app=
le6_globalprint.css" media=3D"print" rel=3D"stylesheet" type=3D"text/css">=
      =20
<link =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../css/app=
le7_jobsprint.css" media=3D"print" rel=3D"stylesheet" type=3D"text/css">
<link =
href=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../css/hac=
k.css" media=3D"screen" rel=3D"stylesheet" type=3D"text/css">
<style>
iframe.nav {
	width: 100%;
	height: 215px;
	border: none;
=09
}
</style>=20
<script =
src=3D"http://www.apple.com/jobs/includes/ve/apple/us/../../../../scripts/=
jobs_ve.js" type=3D"text/javascript"></script>

<style>
			Table.Right {float: Right;text-align: Right;}
			DIV.VEclearFloatAfterElement =
{clear:both;visibility:hidden;height:0px;}=20
		</style><style>
			Table.Right {float: Right;text-align: Right;}
			DIV.VEclearFloatAfterElement =
{clear:both;visibility:hidden;height:0px;}=20
		</style></head><body bgcolor=3D"#ffffff" =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; "><base =
href=3D"http://jobs.apple.com/index.ajs?BID=3D1&amp;method=3DmExternal.sho=
wJob&amp;RID=3D21088&amp;CurrentPage=3D1"><div style=3D"font-family: =
Helvetica; font-size: 12px; color: black; text-align: left; "><br =
class=3D"webkit-block-placeholder"></div>
<iframe class=3D"nav" frameborder=3D"0" scrolling=3D"no" =
src=3D"https://www.apple.com/jobs/includes/common/nav/us/top_nav_pro.html"=
></iframe>

<div class=3D"clearer">&nbsp;</div>
<div id=3D"main">
<!-- <div id=3D"content"> VE will insert for A2J, not for online App -->
<h2>Job description </h2>=20
<!-- VEBody Begin--><div id=3D"content">
	<noscript></noscript>

=09
=09
	<script language=3D"JavaScript1.2">
		var isResizable =3D false;
=09
		function noOp()
		{
		}
	=09
		function createTarget(form)
		{
			_target =3D form.target;
			_colon =3D _target.indexOf(":");
			if(_colon !=3D -1) {
			form.target =3D _target.substring(0,_colon);
			form.args =3D _target.substring(_colon+1);
			} else if(typeof(form.args)=3D=3D"undefined") {
			form.args =3D "";
			}
			if(form.args.indexOf("{")!=3D-1) {
			_args =3D form.args.split("{");
			form.args =3D _args[0];
			for(var i =3D 1; i < _args.length;i++) {
			_args[i] =3D _args[i].split("}");
			form.args +=3D eval(_args[i][0]) + _args[i][1];
			   }
			}
			form.args =3D form.args.replace(/ /g,"");
			_win =3D window.open('',form.target,form.args);
			if(typeof(focus)=3D=3D"function")
			_win.focus();
			form.submit();
			return false;
		}
	</script>

	<script language=3D"JavaScript1.2">
		function MenuValidateForm()
		{
			if(window.glCookieCheckFailed && =
window.glCookieMessage)=20
			{
				if(glCookieCheckFailed)=20
				{
					alert(glCookieMessage);=20
					return false;
				}=20
			}
			return true;
		}
	</script>
=09
=09
=09
=09
					<form name=3D"frmCreateProfile1" =
action=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showLogin" =
method=3D"Post" onsubmit=3D"return MenuValidateForm();">
						<input type=3D"Hidden" =
name=3D"RID" value=3D"21088">
						<input type=3D"Hidden" =
name=3D"PTS" value=3D"F8144FFD-15C5-F4EB-80F24BE41EAEE64F">
					=09
					</form>
				=09
					<form name=3D"frmResumeBuilder1" =
action=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showLogin" =
method=3D"Post" onsubmit=3D"return MenuValidateForm();">
						<input type=3D"Hidden" =
name=3D"RB" value=3D"1">
						<input type=3D"Hidden" =
name=3D"RID" value=3D"21088">
						<input type=3D"Hidden" =
name=3D"PTS" value=3D"F8144FFD-15C5-F4EB-80F24BE41EAEE64F">
					=09
					</form>
				=09
				=09
=09
					<form name=3D"frmApply1" =
action=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showLogin" =
method=3D"post" onsubmit=3D"return MenuValidateForm();">
						<input type=3D"Hidden" =
name=3D"RID" value=3D"21088">
						<input type=3D"Hidden" =
name=3D"PTS" value=3D"F8144FFD-15C5-F4EB-80F24BE41EAEE64F">
					=09
					</form>
				=09
			<form name=3D"frmEmailJob1" =
action=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showEmailAFriend" =
method=3D"post" target=3D"foobar">
				<input type=3D"Hidden" name=3D"RID" =
value=3D"21088">
				<input type=3D"Hidden" =
name=3D"CorrectNavigation" value=3D"Yes">
			</form>
		=09
	=09
=09
		<table cellpadding=3D"3" cellspacing=3D"0" border=3D"0" =
class=3D"Right" style=3D"position: static; z-index: auto; ">
			<tbody><tr>
				<td>
					<table cellpadding=3D"3" =
cellspacing=3D"0" border=3D"0" style=3D"position: static; z-index: auto; =
">
						<tbody><tr>
						=09
								<td>
								<table =
cellpadding=3D"0" cellspacing=3D"0" border=3D"0" style=3D"position: =
static; z-index: auto; ">
							=09
								=
<tbody><tr><td class=3D"JobDetailNavigation">
									=
<a onclick=3D"return  confirm('Are you sure you want to apply to this =
job?');" href=3D"javascript:if(document.frmCreateProfile1.onsubmit()) =
document.frmCreateProfile1.submit();" =
class=3D"JobDetailNavigationLink">Create Profile</a>
								</td>
							=09
								=
</tr></tbody></table>
								</td>
						=09
								<td>
								<table =
cellpadding=3D"0" cellspacing=3D"0" border=3D"0" style=3D"position: =
static; z-index: auto; ">
							=09
								=
<tbody><tr><td class=3D"JobDetailNavigation">
									=
<a href=3D"javascript:noOp()" onclick=3D"return =
createTarget(document.frmEmailJob1);" =
class=3D"JobDetailNavigationLink">Email A Friend</a>
								</td>
							=09
								=
</tr></tbody></table>
								</td>
						=09
						</tr>
					</tbody></table>
				</td>
			</tr>
		</tbody></table>
 <div class=3D"VEclearFloatAfterElement"></div>=20
=09
			<table cellpadding=3D"3" cellspacing=3D"0" =
border=3D"0" width=3D"100%" style=3D"position: static; z-index: auto; ">
			=09
				<tbody><tr>
			=09
					<td class=3D"JobDetailLabel" =
valign=3D"top" nowrap=3D"">
						Requisition Number=20
					</td>
					<td colspan=3D"1" valign=3D"top">
						3540529=20
					</td>
				=09
				</tr>
			=09
				<tr>
			=09
					<td class=3D"JobDetailLabel" =
valign=3D"top" nowrap=3D"">
						Job title=20
					</td>
					<td colspan=3D"1" valign=3D"top">
						VoiceOver Software =
Quality Engineer=20
					</td>
				=09
				</tr>
			=09
				<tr>
			=09
					<td class=3D"JobDetailLabel" =
valign=3D"top" nowrap=3D"">
						Location=20
					</td>
					<td colspan=3D"1" valign=3D"top">
						Santa Clara Valley<br>
							=09
					</td>
				=09
				</tr>
			=09
				<tr>
			=09
					<td class=3D"JobDetailLabel" =
valign=3D"top" nowrap=3D"">
						Country=20
					</td>
					<td colspan=3D"1" valign=3D"top">
					=09
					</td>
				=09
				</tr>
			=09
				<tr>
			=09
					<td class=3D"JobDetailLabel" =
valign=3D"top" nowrap=3D"">
						City=20
					</td>
					<td colspan=3D"1" valign=3D"top">
					=09
					</td>
				=09
				</tr>
			=09
				<tr>
			=09
					<td class=3D"JobDetailLabel" =
valign=3D"top" nowrap=3D"">
						State/Province=20
					</td>
					<td colspan=3D"1" valign=3D"top">
					=09
					</td>
				=09
				</tr>
			=09
				<tr>
			=09
					<td class=3D"JobDetailLabel" =
valign=3D"top" nowrap=3D"">
						Job type=20
					</td>
					<td colspan=3D"1" valign=3D"top">
						Full Time<br>
							=09
					</td>
				=09
				</tr>
			=09
				<tr>
			=09
					<td class=3D"JobDetailLabel" =
valign=3D"top" nowrap=3D"">
						Job description=20
					</td>
					<td colspan=3D"1" valign=3D"top">
						Do you want to directly =
and positively impact the lives of many Apple customers?  Do you =
*really* want to change the world?  Apple's VoiceOver Engineering Team =
is seeking a Software Quality Engineer who will help test and improve =
future versions of VoiceOver as well as the general accessibility of Mac =
OS X.  VoiceOver Is Apple's screenreader software that enables blind or =
visually impaired users to use a Macintosh.  You'll be responsible for =
testing functionality, user experience, and performance, as well as =
text-to-speech and Braille display accuracy and speed.  The ideal =
candidate will have experience with the software quality assurance =
process and will be extremely passionate about accessibility and =
VoiceOver.<br><br>Job Responsibilities Include:<br>- Defining/evolving =
the team's testing and performance strategy.<br>- Developing test suites =
and scripts which work with Apple's automated test tools.<br>- Testing =
the functionality of VoiceOver.<br>- Testing the accessibility of many =
Mac OS X applications (using VoiceOver).<br>- Contributing ideas to =
improve VoiceOver's user experience.<br>- Testing alternative display =
devices, such as refreshable Braille displays.<br>- Testing speech =
quality.<br>- General testing of Mac OS X.<br><br>Key Requirements:<br>- =
BSCS or equivalent.<br>- Experience using the UNIX command line and =
scripting.<br>- Experience using screen readers and knowledge of =
accessibility issues.<br>- Experience using speech synthesis.<br>- =
Fluent Braille reader.<br>- Solid testing skills.<br>- Strong =
communication skills.<br><br>Additional Desired Skills:<br>- Fluency in =
Braille.<br>- Experience with refreshable Braille displays and other =
accessibility devices.<br>- Experience with C, Objective-C, Mac OS X, =
Cocoa, Carbon, and Apple's Accessibility API.<br><br><br>BS in Computer =
Science or Equivalent=20
					</td>
				=09
				</tr>
			=09
			</tbody></table>
	=09
=09
	<script language=3D"JavaScript1.2">
		var isResizable =3D false;
=09
		function noOp()
		{
		}
	=09
		function createTarget(form)
		{
			_target =3D form.target;
			_colon =3D _target.indexOf(":");
			if(_colon !=3D -1) {
			form.target =3D _target.substring(0,_colon);
			form.args =3D _target.substring(_colon+1);
			} else if(typeof(form.args)=3D=3D"undefined") {
			form.args =3D "";
			}
			if(form.args.indexOf("{")!=3D-1) {
			_args =3D form.args.split("{");
			form.args =3D _args[0];
			for(var i =3D 1; i < _args.length;i++) {
			_args[i] =3D _args[i].split("}");
			form.args +=3D eval(_args[i][0]) + _args[i][1];
			   }
			}
			form.args =3D form.args.replace(/ /g,"");
			_win =3D window.open('',form.target,form.args);
			if(typeof(focus)=3D=3D"function")
			_win.focus();
			form.submit();
			return false;
		}
	</script>

	<script language=3D"JavaScript1.2">
		function MenuValidateForm()
		{
			if(window.glCookieCheckFailed && =
window.glCookieMessage)=20
			{
				if(glCookieCheckFailed)=20
				{
					alert(glCookieMessage);=20
					return false;
				}=20
			}
			return true;
		}
	</script>
=09
=09
=09
=09
					<form name=3D"frmCreateProfile2" =
action=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showLogin" =
method=3D"Post" onsubmit=3D"return MenuValidateForm();">
						<input type=3D"Hidden" =
name=3D"RID" value=3D"21088">
						<input type=3D"Hidden" =
name=3D"PTS" value=3D"F8144FFD-15C5-F4EB-80F24BE41EAEE64F">
					=09
					</form>
				=09
					<form name=3D"frmResumeBuilder2" =
action=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showLogin" =
method=3D"Post" onsubmit=3D"return MenuValidateForm();">
						<input type=3D"Hidden" =
name=3D"RB" value=3D"1">
						<input type=3D"Hidden" =
name=3D"RID" value=3D"21088">
						<input type=3D"Hidden" =
name=3D"PTS" value=3D"F8144FFD-15C5-F4EB-80F24BE41EAEE64F">
					=09
					</form>
				=09
				=09
=09
					<form name=3D"frmApply2" =
action=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showLogin" =
method=3D"post" onsubmit=3D"return MenuValidateForm();">
						<input type=3D"Hidden" =
name=3D"RID" value=3D"21088">
						<input type=3D"Hidden" =
name=3D"PTS" value=3D"F8144FFD-15C5-F4EB-80F24BE41EAEE64F">
					=09
					</form>
				=09
			<form name=3D"frmEmailJob2" =
action=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showEmailAFriend" =
method=3D"post" target=3D"foobar">
				<input type=3D"Hidden" name=3D"RID" =
value=3D"21088">
				<input type=3D"Hidden" =
name=3D"CorrectNavigation" value=3D"Yes">
			</form>
		=09
	=09
=09
		<table cellpadding=3D"3" cellspacing=3D"0" border=3D"0" =
class=3D"Right">
			<tbody><tr>
				<td>
					<table cellpadding=3D"3" =
cellspacing=3D"0" border=3D"0">
						<tbody><tr>
						=09
								<td>
								<table =
cellpadding=3D"0" cellspacing=3D"0" border=3D"0">
							=09
								=
<tbody><tr><td class=3D"JobDetailNavigation">
									=
<a onclick=3D"return  confirm('Are you sure you want to apply to this =
job?');" href=3D"javascript:if(document.frmCreateProfile2.onsubmit()) =
document.frmCreateProfile2.submit();" =
class=3D"JobDetailNavigationLink">Create Profile</a>
								</td>
							=09
								=
</tr></tbody></table>
								</td>
						=09
								<td>
								<table =
cellpadding=3D"0" cellspacing=3D"0" border=3D"0">
							=09
								=
<tbody><tr><td class=3D"JobDetailNavigation">
									=
<a href=3D"javascript:noOp()" onclick=3D"return =
createTarget(document.frmEmailJob2);" =
class=3D"JobDetailNavigationLink">Email A Friend</a>
								</td>
							=09
								=
</tr></tbody></table>
								</td>
						=09
						</tr>
					</tbody></table>
				</td>
			</tr>
		</tbody></table>
 <div class=3D"VEclearFloatAfterElement"></div>=20
	</div><!-- VEBody End-->

<div id=3D"sidebar">

=09



<div id=3D"sidebar">                  <div id=3D"index">                 =
<!-- VENavigation Begin-->
<ul>
	<li>

	 	<a href=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showLo=
gin" class=3D"MainNavigationLink">Sign In</a>
=09
	</li>
</ul>
=09

	<ul>
		<li><a =
href=3D"index.ajs?BID=3D1&amp;method=3DmExternal.showSearchInterface" =
class=3D"MainNavigationLink">Search Jobs</a></li><li><a =
href=3D"index.ajs?BID=3D1&amp;method=3DmExternal.returnToResults" =
class=3D"MainNavigationLink">Search Results</a></li>
	</ul>
<!-- VENavigation End-->  		</div> 		<div =
id=3D"division"> 		    <h2>Inside Apple</h2> 		 =
   <ul class=3D"last"> 		      <li> 		        <a =
href=3D"http://www.apple.com/jobs/us/pro/inside/diversity.html">Commitment=
 to diversity</a> 		      </li> 		      <li> 		=
        <a =
href=3D"http://www.apple.com/jobs/us/pro/inside/locations.html">Apple =
locations</a> 		      </li> 		      <li> 		 =
       <a =
href=3D"http://www.apple.com/jobs/us/pro/inside/benefits.html">Benefits</a=
> 		      </li> 		      <li> 		        =
<a href=3D"http://www.apple.com/jobs/us/pro/inside/questions.html">Common =
questions</a> 		      </li> 		    </ul> 		=
</div>       </div>

</div>
</div>
<div class=3D"clearer">&nbsp;</div>


<div id=3D"diversity">We are committed to diversity.&nbsp; Apple is an =
Equal Employment Opportunity and Affirmative Action Employer.  =
</div><br><div class=3D"gf-980" id=3D"globalfooter">	<div =
id=3D"breadcrumbs">	<a class=3D"home" =
href=3D"http://www.apple.com/">Home</a><span>></span><a =
href=3D"http://www.apple.com/jobs/us">Job =
Opportunities</a><span>></span>Job description </div><iframe class=3D"nav"=
 frameborder=3D"0" scrolling=3D"no" =
src=3D"https://www.apple.com/jobs/includes/common/nav/us/footer.html"></if=
rame></div>
 =20

<div style=3D"font-family: Helvetica; font-size: 12px; color: black; =
text-align: left; "><br =
class=3D"webkit-block-placeholder"></div></body></html>=

<hr>
<p>
Leave list:
<a href=3D"mailto:[email protected]">
[email protected]</a>

<p>

     VICUG-L is archived on the World Wide Web at
    <a
href=3D"http://listserv.icors.org/archives/vicug-l.html">http://listserv.i
cors.or g/archives/vicug-l.html</a>

<p>
    Send questions on list operation to
<a href=3D"mailto:[email protected] ">
[email protected]</a>


--Apple-Mail-40-812757136--