Slide 1

Slide 1 text

What is the Responsibility of Plugin Developers? Takayuki Miyoshi

Slide 2

Slide 2 text

https://profiles.wordpress.org/takayukister/

Slide 3

Slide 3 text

I am Takayuki Miyoshi, WordPress plugin developer.

Slide 4

Slide 4 text

I have been involved in the WordPress community in a lot of roles.

Slide 5

Slide 5 text

Translation Contributor Support Team Support Contributor Core Contributor WordPress.tv Contributor WordCamp Speaker Community Team Translation Editor Plugin Developer

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

I'm from Fukuoka, Japan

Slide 8

Slide 8 text

I'm from Fukuoka, Japan Me, too!

Slide 9

Slide 9 text

The original Wapuu was created by a Fukuoka-based illustrator and introduced at WordCamp Fukuoka 2011.

Slide 10

Slide 10 text

https://wapuu.jp/

Slide 11

Slide 11 text

https://wapuu.jp/

Slide 12

Slide 12 text

Wapuutopia Fukuoka =

Slide 13

Slide 13 text

I have 10 years experience in plugin development. Contact Form 7 and Bogo are my most favorite plugins.

Slide 14

Slide 14 text

Contact Form 7 manages contact forms.

Slide 15

Slide 15 text

Bogo makes your sites multilingual.

Slide 16

Slide 16 text

https://wptavern.com/contact-form-7-passes-40-million-downloads

Slide 17

Slide 17 text

Last month Contact Form 7 passed 40,000,000 downloads. WP Tavern wrote an article about it.

Slide 18

Slide 18 text

What is the Responsibility of Plugin Developers?

Slide 19

Slide 19 text

WordPress allows plugins to do everything. Plugins can make WordPress better or worse.

Slide 20

Slide 20 text

WordPress gives us great opportunities. What should we do for WordPress?

Slide 21

Slide 21 text

What is the Responsibility of Plugin Developers?

Slide 22

Slide 22 text

The Responsibility of Plugin Developers Is to Keep WordPress Accessible for Everyone.

Slide 23

Slide 23 text

WordPress Core is Designed to Be Accessible for Everyone. Plugins Should Follow It.

Slide 24

Slide 24 text

Let's Look at Two Aspects. Accessibility Localization &

Slide 25

Slide 25 text

Is Your Plugin Accessible?

Slide 26

Slide 26 text

Can you read this? Ensure Enough Contrast. Low-contrast text is hard to read.

Slide 27

Slide 27 text

form action="http://example.com/donut" metho p> Chocolate
Cream Filled< Honey Glazed<

Slide 28

Slide 28 text

form action="htt p> Chocolate
Cream Filled< Honey Glazed<

Slide 29

Slide 29 text

https://make.wordpress.org/accessibility/2016/03/21/wordpress-goes-wcag/

Slide 30

Slide 30 text

The WordPress Accessibility Team announced that all new or updated code released into WordPress core must conform with the WCAG 2.0 guidelines.

Slide 31

Slide 31 text

WordPress core code ensures a specific level of accessibility. Plugins should follow it.

Slide 32

Slide 32 text

https://make.wordpress.org/accessibility/handbook

Slide 33

Slide 33 text

WordPress Accessibility Handbook provides essential information for plugin developers.

Slide 34

Slide 34 text

Is Your Plugin Multilingual-Ready?

Slide 35

Slide 35 text

Translation

Slide 36

Slide 36 text

https://translate.wordpress.org/projects/wp-plugins/contact-form-7/stable/ja/default

Slide 37

Slide 37 text

translate.wordpress.org makes collaborative translation possible.

Slide 38

Slide 38 text

__( "You are not allowed to upload files of this type.", 'contact-form-7' ) Make Text Translatable with __() Function.

Slide 39

Slide 39 text

__( $text, $domain ) _e( $text, $domain ) _x( $text, $context, $domain ) _ex( $text, $context, $domain ) _n( $single, $plural, $number, $d _nx( $single, $plural, $number, $ You can also use variant functions.

Slide 40

Slide 40 text

Text Direction

Slide 41

Slide 41 text

https://ar.wordpress.org/

Slide 42

Slide 42 text

In some languages, text is written Right-to-Left.

Slide 43

Slide 43 text

Add New Post page in English

Slide 44

Slide 44 text

Add New Post page in Arabic

Slide 45

Slide 45 text

Add New Post page in Chinese

Slide 46

Slide 46 text

Add New Post page in Hebrew

Slide 47

Slide 47 text

Add New Post page in Japanese

Slide 48

Slide 48 text

Add New Post page in Persian

Slide 49

Slide 49 text

In some languages, text is written Right-to-Left (RTL) and pages may have a different layout.

Slide 50

Slide 50 text

Do your plugins work correctly in RTL languages? Many plugins add blocks into the admin screen.

Slide 51

Slide 51 text

If you set these properties in your plugin's stylesheet, you may need to change the 'left' to 'right' in RTL languages: • text-align: left • margin-left: • padding-left: • border-left: • left:

Slide 52

Slide 52 text

If you set these properties in your plugin's stylesheet, you may need to change the 'left' to 'right' in RTL languages: • text-align: right • margin-right: • padding-right: • border-right: • right:

Slide 53

Slide 53 text

WordPress function is_rtl() tells if the site language is RTL. if ( is_rtl() ) { wp_enqueue_style( 'style-rtl', '/css/style-rtl.css' ); } Make an additional stylesheet for RTL and load it when the site language is RTL.

Slide 54

Slide 54 text

We looked at two aspects today but of course these are not the only things we need to learn. Accessibility Localization &

Slide 55

Slide 55 text

These are not about cool programming techniques, but it doesn't mean it's not important for developers. ACTUALLY, IT’S REALLY IMPORTANT!

Slide 56

Slide 56 text

The Responsibility of Plugin Developers Is to Keep WordPress Accessible for Everyone. This is what I keep in mind when creating a plugin.