Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uclixnjupyternbaccessibility issue fixes 1 #4675

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
7b85377
added files for manual testing
joshuazeltser Jun 4, 2019
91111be
fixed issue 3970 giving upload button an aria-label
joshuazeltser Jun 4, 2019
7c22cfe
added new span to new button to cause narrator to mention it is a dro…
joshuazeltser Jun 4, 2019
ee32043
fix issue #4010
Jun 5, 2019
125dc34
Added lang attribute to html
ednut15 Jun 5, 2019
5619182
fix issue #4001 and #4003
Jun 5, 2019
305daba
#3997 Added title and Aria label to include menu in link name
ednut15 Jun 5, 2019
978a9cb
#4015: fixed this issue for all close buttons for modals
joshuazeltser Jun 5, 2019
550e3f9
Removed lang and alt text from page and tree
ednut15 Jun 6, 2019
2a11dd8
Merge pull request #3 from uclixnjupyternbaccessibility/tunde
joshuazeltser Jun 6, 2019
a38f4c5
fixed merge conflict
joshuazeltser Jun 6, 2019
3e66bff
#3996 Added role attribute with value button to the element
ednut15 Jun 6, 2019
5c7029f
#3997 Added title and Aria label to include menu in link name
ednut15 Jun 6, 2019
f45f263
fix issue 3963
Jun 6, 2019
a54def3
#4014: solved this issue creating visual and audio reference to chang…
joshuazeltser Jun 6, 2019
bdd3635
fix issue #3999, #4001, #4003, #3988, #3987
Jun 6, 2019
728dc2f
#3997 changed kernel listitem to be menu pop up link with menuitems w…
ednut15 Jun 6, 2019
b74df7a
fix issue #4002
Jun 7, 2019
7ad60df
fix issue3961
Jun 7, 2019
75fa1f3
#3938: solved this issue, but more checking needs to be done to see w…
joshuazeltser Jun 7, 2019
306a0f1
#3941: narrator now reads labels of textareas in popups
joshuazeltser Jun 7, 2019
61ec760
fix #issue3961
Jun 7, 2019
86a6e56
3936: I have fixed this issue and the popup now has title as h1 like …
joshuazeltser Jun 7, 2019
3f4d98d
#3997 Help in nav to be menu pop up link with menu items
ednut15 Jun 7, 2019
bf7ce4b
#3997 Converted nav cell link to menu
ednut15 Jun 7, 2019
df62fca
#3997 Changed role of File, Edite, View, Insert, Cell, Kernel, Help t…
ednut15 Jun 10, 2019
4630efd
#3984 Now focus is visible through a frame to distinguish selected an…
Jun 10, 2019
1768bb3
fix issue#3992
Jun 11, 2019
1181021
Merge pull request #2 from uclixnjupyternbaccessibility/tao-branch
joshuazeltser Jun 11, 2019
ded73d7
change line 61 #d4d4d4 to #757474 for issue #4010
taohan16 Jun 11, 2019
c4543c6
Delete unnecessary Jupyter file
joshuazeltser Jun 11, 2019
3b38bb7
Delete accidentally added file
joshuazeltser Jun 11, 2019
3cd0985
Merge pull request #1 from uclixnjupyternbaccessibility/josh-branch
joshuazeltser Jun 11, 2019
58bdda7
Merge remote-tracking branch 'remotes/origin/dev' into tunde
ednut15 Jun 11, 2019
87ccc4a
Merge remote-tracking branch 'remotes/origin/dev' into tunde
ednut15 Jun 11, 2019
dbcfa80
Merge pull request #4 from uclixnjupyternbaccessibility/tunde
joshuazeltser Jun 11, 2019
7823093
Fixes issue #3998, #3971 and #3968
fabihaahmed Jun 11, 2019
3afba85
Merge remote-tracking branch 'origin/dev' into norah
Jun 11, 2019
4f400f9
#3984 Keyboard focus is clearly visible on the Controls(File,Edit,Vie…
Jun 11, 2019
d175ad9
Merge pull request #7 from uclixnjupyternbaccessibility/norah
joshuazeltser Jun 11, 2019
97f24d6
Fixes a bug
fabihaahmed Jun 11, 2019
c7e6d92
Merge branch 'dev' into fabiha-branch
joshuazeltser Jun 11, 2019
99a9031
Fixes a bug
fabihaahmed Jun 11, 2019
02f217c
Merge pull request #6 from uclixnjupyternbaccessibility/fabiha-branch
fabihaahmed Jun 11, 2019
3ad7845
fix issue#3961
Jun 11, 2019
fe8156b
Merge branch 'dev' of https://github.com/uclixnjupyternbaccessibility…
Jun 11, 2019
b236625
Set up CI with Azure Pipelines
joshuazeltser Jun 12, 2019
2a1eb5f
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
adef4d5
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
6e7585b
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
ed754d3
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
048de57
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
4cf059e
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
a615a49
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
8b65823
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
b4cdb71
Returned package.json to its original format
joshuazeltser Jun 12, 2019
42b0731
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
17df2ce
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 12, 2019
2b508fe
Create azure-pipelines.yml
joshuazeltser Jun 13, 2019
d5ede50
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 13, 2019
fa91704
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 13, 2019
467ad08
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 13, 2019
634f298
Merge pull request #10 from uclixnjupyternbaccessibility/josh-branch
ednut15 Jun 13, 2019
23dd3fa
Merge branch 'master' into dev
joshuazeltser Jun 14, 2019
ac1632c
Merge pull request #12 from uclixnjupyternbaccessibility/dev
joshuazeltser Jun 14, 2019
f4a533a
Update azure-pipelines.yml for Azure Pipelines
joshuazeltser Jun 17, 2019
e5d360c
Update azure-pipelines.yml
joshuazeltser Jun 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,4 @@ config.rst

package-lock.json
geckodriver.log
*.ipynb
563 changes: 563 additions & 0 deletions Create and Deploy an Azure ML Web Service.ipynb

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@

variables:
JUPYTER_TEST_BROWSER: firefox
MOZ_HEADLESS: 1

pool:
vmImage: 'ubuntu-latest'

steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.6'
addToPath: true
architecture: 'x64'

- script: |
pip install --upgrade pip
pip install --upgrade setuptools wheel nose coverage codecov
nvm install 6.9.2
nvm use 6.9.2
node --version
npm --version
npm upgrade -g npm
npm install
git clone git://github.com/n1k0/casperjs.git
cd casperjs
sudo ln -sf `pwd`/bin/casperjs /usr/local/bin/casperjs
cd ..
echo 'casperjs and phantomjs installed'
sudo apt-get install libc6 libstdc++6 libgcc1 libgtk2.0-0 libasound2 libxrender1 libdbus-glib-1-2
sudo apt-get install firefox
echo 'FIREFOX INSTALLED'
wget https://github.com/laurentj/slimerjs/releases/download/1.0.0/slimerjs-1.0.0.tar.bz2
tar -xvjf slimerjs-1.0.0.tar.bz2
sudo mv slimerjs-1.0.0 /usr/local/share
sudo ln -sf /usr/local/share/slimerjs-1.0.0/slimerjs /usr/local/bin
export SLIMERJSLAUNCHER=/usr/bin/firefox
pip install -r docs/doc-requirements.txt
pip install --upgrade pytest
pip install --upgrade selenium pytest
wget https://github.com/mozilla/geckodriver/releases/download/v0.19.1/geckodriver-v0.19.1-linux64.tar.gz
mkdir geckodriver
tar -xzf geckodriver-v0.19.1-linux64.tar.gz -C geckodriver
cd geckodriver
sudo cp geckodriver /usr/local/bin
cd ..
# export PATH=$PATH:$PWD/geckodriver
npm install sqlite3
pip install "attrs>=17.4.0"
displayName: 'Before Install'
continueOnError: false

- script: |
pip install --pre .[test] $EXTRA_PIP
pip freeze
wget https://github.com/jgm/pandoc/releases/download/1.19.1/pandoc-1.19.1-1-amd64.deb
sudo dpkg -i pandoc-1.19.1-1-amd64.deb
displayName: 'Install'
continueOnError: false

- script: |
jupyter kernelspec list
symlinks=$(find . -type l| grep -v './node_modules/' | grep -v './git-hooks')
if [[ $(echo $symlinks) ]]; then
echo "Repository contains symlinks which won't work on windows:"
echo $symlinks
echo ""
false
else
true
fi
python -m notebook.jstest base
displayName: 'Run base Tests'
continueOnError: false

- script: |
python -m notebook.jstest notebook
displayName: 'Run notebook Tests'
continueOnError: false

# - script: |
# python -m notebook.jstest services
# displayName: 'Run services Tests'
# continueOnError: false

- script: |
nosetests -v --exclude-dir notebook/tests/selenium --with-coverage --cover-package=notebook notebook
displayName: 'Run coverage Tests'
continueOnError: false

# - script: |
# py.test -sv notebook/tests/selenium
# displayName: 'Run selenium Tests'
# continueOnError: false

- script: |
make -C docs/ html
pytest --nbval --current-env docs
displayName: 'Run documentation Tests'
continueOnError: false
54 changes: 54 additions & 0 deletions notebook/static/acc_overwrite.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
//This is file created for overwriting some of bootstrap element color in order to satisfiy the color contrast greater than 4.5:1.

.btn-danger{
color: #ffffff;
background-color: #df0404;
border-color: #df0404;
}

.btn-warning{
color: #ffffff;
background-color:#b46102;
border-color: #b46102;
}

@link-color: #296eaa;

.close {
float: right;
font-size: (@font-size-base * 1.5);
font-weight: @close-font-weight;
line-height: 1;
color: @close-color;
text-shadow: @close-text-shadow;
.opacity(.6);

&:hover,
&:focus {
color: @close-color;
text-decoration: none;
cursor: pointer;
.opacity(1.0);
} button& {
padding: 0;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
appearance: none;
}
}

.navbar-nav {
> li > a {
color: @navbar-default-link-color;
// To make keyboard focus clearly visible on the Controls(File,Edit,View,Insert,Cell...etc)present on the menubar.
//&:hover, //To use browser's hover default value
&:focus {
/* -webkit-focus-ring-color = '#5B9DD9' */
outline: -webkit-focus-ring-color auto 5px;
// color: @navbar-default-link-hover-color;
// background-color: @navbar-default-link-hover-bg;
}
}
}
2 changes: 1 addition & 1 deletion notebook/static/auth/css/override.css
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ a hack to deal with our current css styles and no new styling should be added in
#ipython-main-app {
padding-top: 50px;
text-align: center;
}
}
6 changes: 3 additions & 3 deletions notebook/static/base/js/dialog.js
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,14 @@ define(['jquery',
})
.append($("<button>")
.attr("type", "button")
.attr("aria-label","close")
.addClass("close")
.attr("data-dismiss", "modal")
.attr("aria-hidden", "true")
.html("&times;")
).append(
$("<h4/>")
.addClass('modal-title')
.text(options.title || "")
options.type ? options.type.addClass('modal-title').text(options.title || "")
: $("<h4/>").addClass('modal-title').text(options.title || "")
)
).append(
$("<div/>")
Expand Down
166 changes: 83 additions & 83 deletions notebook/static/base/js/namespace.js
Original file line number Diff line number Diff line change
@@ -1,83 +1,83 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.


var Jupyter = Jupyter || {};

var jprop = function(name, module_path){
Object.defineProperty(Jupyter, name, {
get: function() {
console.warn('accessing `'+name+'` is deprecated. Use `requirejs("'+module_path+'")`');
return requirejs(module_path);
},
enumerable: true,
configurable: false
});
}

var jglobal = function(name, module_path){
Object.defineProperty(Jupyter, name, {
get: function() {
console.warn('accessing `'+name+'` is deprecated. Use `requirejs("'+module_path+'").'+name+'`');
return requirejs(module_path)[name];
},
enumerable: true,
configurable: false
});
}

define(function(){
"use strict";

// expose modules

jprop('utils','base/js/utils')

//Jupyter.load_extensions = Jupyter.utils.load_extensions;
//
jprop('security','base/js/security');
jprop('keyboard','base/js/keyboard');
jprop('dialog','base/js/dialog');
jprop('mathjaxutils','notebook/js/mathjaxutils');


//// exposed constructors
jglobal('CommManager','services/kernels/comm')
jglobal('Comm','services/kernels/comm')

jglobal('NotificationWidget','base/js/notificationwidget');
jglobal('Kernel','services/kernels/kernel');
jglobal('Session','services/sessions/session');
jglobal('LoginWidget','auth/js/loginwidget');
jglobal('Page','base/js/page');

// notebook
jglobal('TextCell','notebook/js/textcell');
jglobal('OutputArea','notebook/js/outputarea');
jglobal('KeyboardManager','notebook/js/keyboardmanager');
jglobal('Completer','notebook/js/completer');
jglobal('Notebook','notebook/js/notebook');
jglobal('Tooltip','notebook/js/tooltip');
jglobal('Toolbar','notebook/js/toolbar');
jglobal('SaveWidget','notebook/js/savewidget');
jglobal('Pager','notebook/js/pager');
jglobal('QuickHelp','notebook/js/quickhelp');
jglobal('MarkdownCell','notebook/js/textcell');
jglobal('RawCell','notebook/js/textcell');
jglobal('Cell','notebook/js/cell');
jglobal('MainToolBar','notebook/js/maintoolbar');
jglobal('NotebookNotificationArea','notebook/js/notificationarea');
jglobal('NotebookTour', 'notebook/js/tour');
jglobal('MenuBar', 'notebook/js/menubar');

// tree
jglobal('SessionList','tree/js/sessionlist');

Jupyter.version = "6.0.0.dev0";
Jupyter._target = '_blank';

return Jupyter;
});

// deprecated since 4.0, remove in 5+
var IPython = Jupyter;
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
var Jupyter = Jupyter || {};
var jprop = function(name, module_path){
Object.defineProperty(Jupyter, name, {
get: function() {
console.warn('accessing `'+name+'` is deprecated. Use `requirejs("'+module_path+'")`');
return requirejs(module_path);
},
enumerable: true,
configurable: false
});
}
var jglobal = function(name, module_path){
Object.defineProperty(Jupyter, name, {
get: function() {
console.warn('accessing `'+name+'` is deprecated. Use `requirejs("'+module_path+'").'+name+'`');
return requirejs(module_path)[name];
},
enumerable: true,
configurable: false
});
}
define(function(){
"use strict";
// expose modules
jprop('utils','base/js/utils')
//Jupyter.load_extensions = Jupyter.utils.load_extensions;
//
jprop('security','base/js/security');
jprop('keyboard','base/js/keyboard');
jprop('dialog','base/js/dialog');
jprop('mathjaxutils','notebook/js/mathjaxutils');
//// exposed constructors
jglobal('CommManager','services/kernels/comm')
jglobal('Comm','services/kernels/comm')
jglobal('NotificationWidget','base/js/notificationwidget');
jglobal('Kernel','services/kernels/kernel');
jglobal('Session','services/sessions/session');
jglobal('LoginWidget','auth/js/loginwidget');
jglobal('Page','base/js/page');
// notebook
jglobal('TextCell','notebook/js/textcell');
jglobal('OutputArea','notebook/js/outputarea');
jglobal('KeyboardManager','notebook/js/keyboardmanager');
jglobal('Completer','notebook/js/completer');
jglobal('Notebook','notebook/js/notebook');
jglobal('Tooltip','notebook/js/tooltip');
jglobal('Toolbar','notebook/js/toolbar');
jglobal('SaveWidget','notebook/js/savewidget');
jglobal('Pager','notebook/js/pager');
jglobal('QuickHelp','notebook/js/quickhelp');
jglobal('MarkdownCell','notebook/js/textcell');
jglobal('RawCell','notebook/js/textcell');
jglobal('Cell','notebook/js/cell');
jglobal('MainToolBar','notebook/js/maintoolbar');
jglobal('NotebookNotificationArea','notebook/js/notificationarea');
jglobal('NotebookTour', 'notebook/js/tour');
jglobal('MenuBar', 'notebook/js/menubar');
// tree
jglobal('SessionList','tree/js/sessionlist');
Jupyter.version = "6.0.0.dev0";
Jupyter._target = '_blank';
return Jupyter;
});
// deprecated since 4.0, remove in 5+
var IPython = Jupyter;
2 changes: 2 additions & 0 deletions notebook/static/notebook/js/maintoolbar.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ define([
var multiselect = $('<option/>').attr('value','multiselect').attr('disabled','').text('-');
var sel = $('<select/>')
.attr('id','cell_type')
.attr('aria-label', 'combobox, select cell type')
.attr('role', 'combobox')
.addClass('form-control select-xs')
.append($('<option/>').attr('value','code').text(i18n.msg._('Code')))
.append($('<option/>').attr('value','markdown').text(i18n.msg._('Markdown')))
Expand Down
2 changes: 2 additions & 0 deletions notebook/static/notebook/js/menubar.js
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,7 @@ define([
var about = $("#notebook_about").parent();
divider = $("<li>")
.attr('id', "kernel-help-links")
.attr('role', "none")
.addClass('divider');
about.prev().before(divider);
}
Expand All @@ -421,6 +422,7 @@ define([
cursor.after($("<li>")
.append($("<a>")
.attr('target', '_blank')
.attr('role', "menuitem")
.attr('title', i18n.msg._('Opens in a new window'))
.attr('href', requirejs.toUrl(link.url))
.append($("<i>")
Expand Down
Loading