Open edX Developer's Guide
1. General Information
1.1. Read Me
1.2. Other edX Resources
1.3. edX Browser Support
1.4. Change Log
2. Open edX Architecture
2.1. Overview
2.2. Key Components
3. Contributing to Open edX
3.1. Process for Contributing Code
3.2. Contributor
3.3. Pull Request Cover Letter
3.4. Community Manager
3.5. Product Owner
3.6. Core Committer
3.7. Code Considerations
4. Extending the edX Platform
4.1. Options for Extending the edX Platform
4.2. Integrating XBlocks with edx-platform
4.3. Custom JavaScript Applications
4.4. The Custom JavaScript Display and Grading Example Template
5. edX Modulestores
5.1. Overview of the edX Modulestores
5.2. MixedModuleStore
5.3. Split Mongo Modulestore
6. Testing
6.1. Jenkins
6.2. Code Coverage
6.3. Code Quality
7. Paver
7.1. Paver Commands
8. Development Environment
8.1. Setting up PyCharm to Debug E-Commerce
9. Developing User Interfaces
9.1. Using the edX Pattern Library
9.2. Using the edX UI Toolkit
9.3. Adding a UI Page
10. Analytics
10.1. Event Tracking
10.2. Other Tracking Systems
11. Deploy a New Service
11.1. Intro
11.2. Considerations
12. Writing Good Code
12.1. edX Accessibility Guidelines
12.2. edX Internationalization
12.3. Preventing Cross Site Scripting Vulnerabilities
12.4. Django Good Practices
13. Language Style Guidelines
13.1. EdX JavaScript Style Guide
13.2. EdX Objective-C Style Guide
13.3. EdX Python Style Guide
14. Glossary
14.1. A
14.2. C
14.3. D
14.4. E
14.5. F
14.6. G
14.7. H
14.8. I
14.9. K
14.10. L
14.11. M
14.12. N
14.13. O
14.14. P
14.15. Q
14.16. R
14.17. S
14.18. T
14.19. U
14.20. V
14.21. W
14.22. XYZ
Open edX Developer's Guide
Table of Contents
»
12. Writing Good Code
Need Help?
|
Feedback
12. Writing Good Code
ΒΆ
12.1. edX Accessibility Guidelines
12.1.1. Introduction
12.1.2. Accessibility Best Practices
12.1.3. Use semantic markup
12.1.4. Make images accessible
12.1.5. Avoid using CSS to add content
12.1.6. Include a descriptive
title
attribute for all
<iframe>
elements
12.1.7. Include link and control labels that make sense out of context
12.1.8. Make sure form elements have labels
12.1.9. Use WAI-ARIA to create accessible widgets or enhance native elements
12.1.10. Manage the focus for pop-ups
12.1.11. Inform users when content changes dynamically
12.1.12. Hide or expose content to targeted audiences
12.1.13. Choose colors that meet WCAG 2.0’s minimum contrast ratios
12.1.14. Test your code for accessibility
12.2. edX Internationalization
12.2.1. Internationalization Coding Guidelines
12.2.2. Guidelines for Translating the Open edX Platform
12.3. Preventing Cross Site Scripting Vulnerabilities
12.3.1. Philosophy and General Rules
12.3.2. Types of Context and Escaping
12.3.3. Editing Template Files
12.3.4. Making Legacy Mako Templates Safe by Default
12.3.5. Safe Template Linter
12.3.6. Advanced Topics
12.3.7. Additional Resources
12.4. Django Good Practices
12.4.1. Imports